*ClassTbl* *ClassEntry* *PTABLE* *WINDOWSEG* *ICONRESTAB* *ICONRESSEG* *ICONRES* Background *OBJTABLE* *IDTABLE* *NAMETAB* Rectangle Ellipse RoundedRectangle Polygon IrregularPolygon AngledLine Curve PaintObject Picture Group Stage Button Viewer ComboBox Field RecordField Hotword *RHOTWORD* *TbxBase* Nothing nomark Contents wwwwwwwwwwwwww wwwwwww| wwwwwwwwwww| wwwwwwwwwwwwww wwwwwwwwwwwwww wwwwwwwwwwwwww fffffo fffffff` fffffff` fffffo fffffo fffffff` fffffff` CDBSE&File &Open... Ctrl+O &Save Ctrl+S Save &As... saveas &Import... import &Export... export Print Set&up... printsetup &Print Pages... Ctrl+P printpages Prin&t Report... printreport Send &Mail... sendmail &Run... E&xit Alt+F4 &Edit &Undo Ctrl+Z Cu&t Ctrl+X &Copy Ctrl+C &Paste Ctrl+V paste C&lear Del clear Select &All Shift+F9 selectall Select Pa&ge Shift+F12 selectpage &Size to Page F11 sizetopage F&ind... F5 Re&place... replace Aut&hor F3 author &Text &Character... F6 character &Paragraph... F7 paragraph &Regular Ctrl+Space regular &Bold Ctrl+B &Italic Ctrl+I italic &Underline Ctrl+U underline Stri&keout Ctrl+K strikeout Superscrip&t/Subscript superscriptSubscript &Normal Script normalscript Su&bscript Ctrl+L subscript Su&perscript Ctrl+Shift+L superscript &Show Hotwords F9 showhotwords &Page &Next Alt+Right &Previous Alt+Left previous &First Alt+Up first &Last Alt+Down &Back Shift+F2 &History... Ctrl+F2 history N&ew Page Ctrl+N newpage &Help &Contents F1 contents Status &Bar F12 statusbar &File &Open... Ctrl+O &Save Ctrl+S Save &As... saveas Print Set&up... printsetup &Print Pages... Ctrl+P printpages &Run... E&xit Alt+F4 &Edit Cu&t Ctrl+X &Copy Ctrl+C &Paste Ctrl+V paste C&lear Del clear &Size to Page F11 sizetopage F&ind... F5 Re&place... replace &Post It Ctrl+Shift+P Postit Opens a post it note. &Notepad Ctrl+N notepad This will show the Notes Pad. &Change Tutorial ChangeTutorial Asks you which tutorial you would like to use. &View &Tutorial ToolBar Ctrl+T Open the Tutorial ToolBar &Popup Help popuphelp &Page &Next Alt+Right &Previous Alt+Left previous &First Alt+Up first &Last Alt+Down &Back Shift+F2 &Add Book Mark Ctrl+M BookMark &Go to Book Mark Ctrl+R &History... Ctrl+F2 history &Help &Contents F1 contents Status &Bar F12 statusbar ,%H.% abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ s_testObj testField showElapsedTime s_testType startTime Obstructed 0123456789 clearTest limits buttonClick enterSystem <+V!8 popHelp popupHelp false TutorialToolBar s_speed initialize statusControls enterApplication clientFromPage GetTickCount getIniVar setIniVar popMenu popText tb40win.dll initialize sizeToPage reader BookMark tmpltTool AddBookMark Add Book Mark Remove Book Mark enterMenu TmpltTool TutorialToolBar PupdateDisplay TutorialToolBar Postit2 Postit4 Postit1 postit2 postit1 Postit3 postit4 postit3 Sorry only four post notes per page postit 1, "@ w, "X ,&H.& 1, #> 1, #> 1, #> Cancel tmpltTool Change Remove answer AddBookMark nomark bookmarks Please enter the reference information for the book mark bookMarks Would you like to remove the book mark or change the book mark for this page? bookmarks refInfo Book Marks in this book have become corrupted. They are being removed BookMark w, "X ,&H.& V, #> .', " removeBookMark tmpltTool !MpopMenu bookmarks gotoBookMark TutorialList ChangeTutorial Notepad Notepad popHelp false popupHelp popupHelp updateDisplay reader popHelpText statusText s_TargetWindow popHelp showText statusBar mouseEnter .', 7 popHelpText PopHelp popText s_targetWindow pophelp kclientFromPage PupdateDisplay showText PopText showText popText mouseLeave title heading enterPage leavePage e+lockedInPlace moved popupText [[popText {popTitle buttonClick endPosY endPosX moveImage objList group showObjects s_testTime 5(GetTickCount startTime This test took seconds. prompt thisTestTime s_testTime 5(GetTickCount faster s_lastTestTime relation deltaTime than the previous test. slower It was showElapsedTime 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown .', " ,"JdY ,"JdY ,"JdY w,#!# Memory Label Attention background draw direct showObjects 5getLine twipFactor combinedPos foreground Screen content Text s_Speed bSize )getAttention moveImage buttonClick .', " .', " .', " .', " Attention moveImage getAttention 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown .', " ,"JdY ,"JdY ,"JdY w,#!# Memory Label Attention background draw direct 5getLine twipFactor Stored Image combinedPos foreground Screen content Text showObjects s_Speed bSize )getAttention moveImage buttonClick .', " .', " .', " .', " Attention moveImage getAttention .', " ,"JdY ,"JdY ,"JdY w,#!# Attention background draw direct showObjects 5getLine twipFactor Stored Image foreground Screen content Text ?bSize )getAttention buttonClick .', " .', " .', " .', " Attention moveImage getAttention 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown 7sorgColor !!OrgPos "!OrgPos JyOffset ButtonDown JyOffset ButtonStillDown scrollField 7sorgColor 6sorgColor sliderValue maxScroll "!OrgPos JyOffset buttonUp sliderValue V, #> sliderValue scrollField sliderValue maxScroll updateDisplay scrollField pageSize pageUp scrollfield pageSize maxScroll pageDown buttonClick 4s_testType, s_testObj -- Set up clearTest -- Draw a sysTransparent sysDrawDirect "limits" x1,y1 x2,y2 "testField" "Helv" "Bold" "Left" potentially obstructing x1 - 300,y2 + 300 x1 + 400,y2-400 x"Obstructed" -- Run "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" & \ "0123456789" startTime showElapsedTime --Intilization handlers the startup up enterApplication 4popHelp, s_speed {= FALSE popupHelp initialize TutorialToolBar statusControls autoSize maximumSize `= 640,480 |= TRUE sysToolBookDirectory&"tb40win.dll" STRING getIniVar( setIniVar(String, INT popMenu(WORD, Text( clientFromPage( linkdLL "user" DWORD GetTickCount() path 8<> "\" autosize --Handlers Items enterMenu normalGraphic B"AddBookMark" "tmpltTool"= icon "mark" setMenuItemName(" 9, "Remove menuItemChecked( cView close updateDisplay "TmpltTool" postit J"Postit1" = "" "postit1" /= 1440,1440 J"Postit2" = "" "postit2" /= 1540,1540 J"Postit3" = "" "postit3" /= 1640,1640 J"Postit4" = "" "postit4" /= 1740,1740 Request "Sorry only four notes per bookMarks _Would you like change "Change" "Cancel" answer = (bookmarks foundRef = i ("Please reference information refInfo "" 8&","& nomark" 8have become corrupted. They are being removed" &","& JTextLine &","& gotoBookMark Zlv_menuItems, lv_position lv_Position B"removeBookMark" )&","& / 2) lv_MenuItems = popText("","There windowHandle J",pageScroll ChangeTutorial xisOpen "TutorialList" %modal Notepad --Other --Traps The message so no error Occurs there Status bar control pophelp. 4s_TargetWindow 4logical ZoldCursor statusBar = " statusText popHelpText s_targetWindow = showText "PopHelp" = %notActive parentWindow Pos = "PopText"= Viewer " --Updated Buttons. "heading" = currentPage MainWindow --Keep Haccident lockedInPlace --This popsup assigned buttonClick popupText ><> NULL popTitle >, mousePosition -- * Script below examples 8. * -- Moves image(s) listed param startPos endPos. 1/division distance between larger lower moves. If interrupt will clicked. moveImage endPosX endPosY div_1 showObjects obj, xOffset, yOffset objList startTime 4s_testTime showElapsedTime ,, s_lastTestTime thisTestTime X) / 1000 %"#.0" prompt took" && H&& " h <> 0 deltaTime )) * 100 %"#.0" 1<> 0 relation "faster" "slower" %"#.0" " It was" && & "%" && "than ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, buttonClick 4s_Speed bSize sPos "Screen" 150,y4 "Attention" + 135 getLine ( J"content Text" twipFactor -- Position images offscreen record how far they are "Memory Label" xOffset1 + 100) - @home xOffset2 + 100) - ~direct" xOffset3 + 100) - -- Show the attention triangle xPos , y0 -- Draw getAttention 1, showObjects /", - -- Combine combinedPos moveImage -- Move ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, buttonClick 4s_Speed bSize sPos "Screen" 150,y4 "Attention" + 135 getLine ( J"content Text" twipFactor -- Position images offscreen record how far they are xOffset1 + 100) - @home xOffset2 + 100) - ~direct" xOffset3 + 100) - "Stored Image" -- Show the attention triangle xPos , y0 -- Draw getAttention 1, "Memory Label" showObjects -- Combine combinedPos moveImage -- Move buttonClick 4s_Speed bSize sPos "Screen" 150,y2 "Attention" + 135 getLine ( J"content Text" twipFactor -- Position images offscreen record how far they are xOffset1 + 100) - @home xOffset2 + 100) - ~direct" xOffset3 + 100) - "Stored Image" -- Show the attention triangle xPos , y0 -- Move combined getAttention 1, -- Draw showObjects moveImage ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, ButtonDown pLoc oOrgPos = oyOffset = oorgColor = ButtonStillDown newPosition = temp = 4scrollField,maxScroll osliderValue * ) / ( &","&\ )) + notifyAfter updateDisplay pageUp pageSize pagesize < pageDown ,scrollfield, info_LastSavedBy :HDMEDIAPATH Arial Arial MTBWidgets Times New Roman Times New Roman Arial MTBWidgets Arial Arial Arial System Arial Modern Serif Arial C:\ARTICLES\SPEED\ Arial C:\ARTICLES\SPEED\S autoSaveAutomatic Arial /95 5:02:27 PM System 9/25/95 9:53:10 AM Arial Arial Arial Tms Rmn Courier New Roman Arial Arial C:\ARTICLES\SPEED\FINAL\S info_LastSaved Arial System Arial purpose bookmarks Todd Drollinger Arial Times New Roman C:\ARTICLES\SPEED\FINAL\ Arial Courier New poptext Page "popHelp" Notepad Note Pad Page "Notepad" TutorialList Select Tutorial To View Page "TutorialList" Page "TmpltTool" ButtonDoubleClick ButtonDoubleClick isOpen Viewer "Tool" tile captionBar defaulttype V = "child" = thin = popup ToolBook Speed Optimization page 1 false locksreen Title Page buttonClick buttonClick 10,14 selectChars Postit4 1640,-14072 Postit3 ASYM_BeenHere Postit1 1540,-14172 Postit2 1728,-14128 nHere title ToolBook Speed Optimization selfRef enterpage notifyBefore selfRef Learn what design decisions affect the speed and overall performance of your application.rough some ToolBook basics and helps you make decisions about how to start your developement effort. You'll find information on ToolBook's internal structure, content development, code design, and how to target your application to reach your intended audience...pplication to reach your intended audience........ enterpage 1440,8640 1728,-13984 @!T!Q* @!T!Q* 9505241631422885366100357012 ASYM_TpID Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 585,90 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 520,55 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 800,140 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" T&f&{ 915,105 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage EnterPage UpdateDisplay Table of Contents destination background enter destination destination Hotword buttonClick buttonClick destination >= "" ("enter 1440,18690 Postit4 1728,22448 Postit3 1640,22360 Postit1 Postit2 Table of Contents title Section List System Books Fonts Image Buffers Imaging Basicsssssssssssssssssss s in ToolBook destination background destination destination destination Section List Design / Book Section List SMARTDRIVE Conventional Memory CONFIG.SYS AUTOEXEC.BAT WIN.INI SYSTEM.INI destination destination Section List System / Configuration Section List Store Image Storing the Background Storing the Page Graphics Metafiles Complex Objects vs Bitmaps Bitmap Color Depth Objects DrawDirect Angled vs Curved Opaque vs Transparent Fields Layering DrawDirect Text Flipping Pages background destination destination destination background destination destination destination destination background destination destination destination destination destination destination destination Section List Design / Background & Page Section List Enter & Leave Generic Scripts System Booksripts s vs Object Scripts destination destination destination Section List OpenScript / Handlers Section List Execute ( ) SysHistoryRecordddddddddddddddddddddddddd destination destination Section List OpenScript / Commands Section List User InterFace Conventions Page Tips destination destination Section List Design Tips Section List hotword User Properties and Variables buttonClick buttonClick /"User Properties Variables" User Properties Variables destination destination Section List OpenScript / Properties & Variableses 1540,22260 ASYM_BeenHere 1728,22304 System Books Book Design: System Books title 5300,787 Postit4 1440,9240 Postit2 2550,2543 Postit3 Postit1 The book script of the system book is part of the object hierarchy for the current book. If a message is not handled in the current book, ToolBook searches for a corresponding handler in the book script of the system book(s). Only the book script of the system book becomes part of the object hierarchy, although handlers in the system book script can redirect messages to other objects and pages in the system book. ToolBook opens system books only when looking for a handler, so the number of system books that you specify does not necessarily affect ToolBook performance. However, performance can slow if ToolBook has to open and search the book scripts of many system books to find a handler. To keep your scripts running as quickly as possible, specify only the system books that you really need and make sure they contain only necessary handlers. Put the most heavily used system books at the front of the sysBooks stack. To minimize the number of handlers in the hierarchy, keep only essential handlers in the book script of the system book. If you have handlers for user-defined functions or for messages that are unique to that system book, put them into page scripts of the system book, then forward the messages to those pages. There are many things to keep in mind when writing system books and, writing your own handlers. For details, read Chapter 7 "Common scripting techniques" in the OpenScript Reference Manual.l.r Manual..ook User Manual...nual.n mind when writing system books and, writing your own handlers. For more information, read the chapter called "Common Scripting Techniques" in the ToolBook User Manual.. System Books 415,717 ASYM_BeenHere 2550,2687 Book Design 7.7Q* title bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage updateDisplay enterPage 950925095059247312184229106377 ASYM_TpID Bitmap vs Vector testField testType Modern fontName enterPage testField fontName clearTest "testType" "testField" "Modern" "fontName" clearTest Fonts: Bitmap vs Vector title Postit4 ASYM_BeenHere Postit2 1440,9540 Postit3 2550,2831 Postit1 Bitmap fonts such as MS Sans Serif or MS Serif, display much more quickly than vector fonts such as Modern or Roman. This test writes text, character by character, using the font type specified in the Test Type option box. You can determine the font type by looking under the Fonts icon in the Control Panel. Vector fonts are followed by (plotter) and bitmap fonts are followed by (VGA res).owed by (VGA res).A res). Bitmap fonts display faster than vector fonts. testField abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ testType buttonDown s_testType buttonUp 4s_testType Vector Font Bitmap Font Test Type Font: fontName Moderns Serif ,%H.% abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ testField Vector Bitmap TrueType showElapsedTime s_testType MS Sans Serif startTime Courier New clearTest Modern fontName buttonClick buttonClick 4s_testType, s_testObj clearTest "testField" c"Bitmap" "MS Sans Serif" c"Vector" "Modern" c"TrueType" "Courier New" "fontName" -- Run "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" & \ startTime showElapsedTime 2550,2975 5300,1075 415,1005 Fonts notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage 950925095100247313135460248220 ASYM_TpID Image Buffers ASYM_BeenHere 2550,2399 2550,2255 Postit1 1440,8940 Postit3 5300,499 Postit2 415,429 Postit4 The imageBuffers property of a viewer has three possible settings, 0, 1 and 2. A setting of 0 means that ToolBook doesn't create any image buffers for a viewer. This results in the most 'flashy' of the three options, but it also uses the least amount of memory. It is typically fast in situations where there is one page per background. This setting also over-rides the drawDirect property of any object on the page or background, and forces them to behave as if they had the drawDirect property set to TRUE. Setting this property to 1 means that ToolBook creates one image buffer for the viewer, and that buffer is used for the background. This can be a good setting if your application has a number of pages per any given background. If this property is set to 2, ToolBook creates an image buffer for the page and the background. This can result in slow page display, requires the most amount of memory, and results in the smoothest display. This setting is good if you have animated ToolBook objects, and you don't want a lot of 'flashing' to occur. 0 Image Buffers - Objects are drawn directly to your viewer. Is usually the quickest to display. 1 Image Buffer - A buffer is created for the background of your viewer. 2 Image Buffers - A buffer is created for the background and page of your viewer. Is usually the slowest to display. Imaging Basics 1440,8190 Postit1 2990,8009 Postit3 2575,8464 Postit2 Postit4 Imaging Basics title ToolBook spends much of its time displaying pages or updating objects on the screen. Understanding how ToolBook displays a page can help you choose designs that are more efficient, and take less time to display, resulting in faster books.. Other Stuff Displaying Pages 2850,9525 ASYM_BeenHere 2850,9669 Imaging Basics :":Q* :":Q* 9505241633553018133158298175 ASYM_TpID notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 975,90 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" @!R!{ 1090,55 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 680,35 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 1305,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage Basics 2550,1391 Postit1 1440,7890 Postit2 Postit4 415,-435 Postit3 Imaging Basics: Overview title You can think of the way ToolBook displays a page as combining three transparencies: the background on the bottom, the page, and other objects such as graphics, fields, and buttons (direct images). ToolBook composes the background and page images offscreen in memory then transfers them to the screen. ToolBook composes the direct image, object by object, directly onscreen...... the screen. Background 3744,1368 4275,900 newHome Previous Name: Phone: Events: Sports Event Corp. ,"JdY ,"JdY direct background s_speed Image Names foreground ?newHome nameField images bSize moveImage buttonClick buttonClick 4s_speed nameField "Image Names" images "direct" bSize + 100, ++ 100 " + " moveImage , newHome Demonstrate Foreground 3744,1368 4275,900 newHome Image Names Background + Foreground + Direct= Direct 4275,900 newHome Cathy Smith 204-555-6565/ 2550,1535 ASYM_BeenHere 5300,-365 Direct Layer 2550,3695 Postit1 1440,7890 Postit3 2550,3551 Postit2 415,1725 Postit4 Direct Image title ASYM_BeenHere The direct image displays faster than the other images and shows all objects, backgrounds and pages, whose drawDirect property is true. Page objects are shown in front of background objects. When you create any new object, the default is to make it part of the direct image. To find out whether an object is drawn directly or not, select it.. The Draw Direct Ctrl+Z Transparent Ctrl+E Align Reshape Flip Horizontal Flip Vertical Rotate Left Rotate Right Draw Centered Draw Direct 3744,1329 Cathy Smith 204-555-6565? Image Names Direct The Draw Direct menu item is checked and its selection handles are hollow. These indicate that the drawDirect property is true.. 5300,1795 2550,7295 Postit1 1440,9390 Postit3 2550,7151 Postit2 415,5325 Postit4 Page Image title The page image shows all page objects whose drawDirect property is false. Objects on this image display more smoothly but slower than objects on the direct image. To make an object part of the page image, select the object and then uncheck Draw Direct in the Draw menu. When you select an object where the drawDirect property is false, the selection handles are solid. The default for drawDirect is defined in the MTB40.INI or TB40.INI file by the startupDrawDirect line in the [ToolBook] section...... Draw Direct Ctrl+Z Transparent Ctrl+E Align Reshape Flip Horizontal Flip Vertical Rotate Left Rotate Right Draw Centered9 Foreground 3744,1329 Image Names Pageground5 The Draw Direct menu item is not checked and selection handles are solid. These indicate that the drawDirect property is false. 5300,5395 Background Image title 1440,11040 Postit1 5300,6259 Postit3 415,6189 Postit2 2550,8159 Postit4 The background image has a pattern and shows background objects whose drawDirect property is false. As with the page image, objects in the background image display more smoothly but slower than ones in the direct image. You can make a background object part of this image by selecting the object and unchecking Draw Direct in the Draw menu..raw menu..nu.tem in the Draw menu. menu. Draw Direct Ctrl+Z Transparent Ctrl+E Align Reshape Flip Horizontal Flip Vertical Rotate Left Rotate Right Draw Centered Background 3744,1329 Previous Name: Phone: Events: Sports Event Corp.C Image Names Background The Draw Direct menu item is not checked and selection handles are filled. 2550,7007 Postit1 1440,9690 Postit3 2550,6863 Postit2 415,5037 Postit4 Displaying Pages title When you turn to a new page, ToolBook displays the page using the following procedure: Draw the background in memory. Draw the page in memory. Combine the two images on the screen. Add the direct image to the screen, object by object..... Draw Direct moved moved o@home 6504,3423 Cathy Smith 204-555-6565 Screen 3894,753 Background moved moved o@home 6684,753 Previous Name: Phone: Events: Sports Event Corp.) Foreground moved moved o@home 6669,3348 Demonstrate Attention Memory Label Memoryy Screen 5300,5107 Storing Images 5300,3955 Postit4 1440,8040 Postit2 2550,5711 Postit3 2550,5855 Postit1 Storing Images: Store Image title ToolBook can store the page's completed image. Then when the page is displayed, the stored image is used directly rather than redrawing it, which is often faster. You can store the background image or the combined background/page image. The direct image is not stored. The stored image is compressed and saved with the book. 01101100110100011101010011110101 Screen 3654,2238 Background moved moved o@home 4584,1878 Previous Name: Phone:O Events: Sports Event Corp. Foreground moved moved o@home 4779,1803 Stored page-background image image 415,3885 Store Image s_lastTestTime enterPage 4s_lastTestTime Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage Storing the Background 415,3021 Postit4 5300,3091 Postit2 1440,7290 Postit3 2550,4847 Postit1 Storing the Background title To store the background image, choose the Store Image option in the Background Properties dialog box. The image is stored when you turn pages, switch to Reader level, or close the book. As ToolBook stores the image, it displays an information box showing the percentage completed. Unchecking the Store Image option removes the stored image.e. Choosing this option will save this background's image... 2550,4991 Stored Background Stored Image enterPage "Stored Image" 5300,4963 Postit4 1440,7140 Postit2 2550,6719 Postit3 2550,6863 Postit1 Stored Background title When a page's background image is stored, ToolBook displays the page using the following procedure... Retrieve the stored background. Draw the page in memory. Combine the images on screen. Add the direct image to the screen, object by object.....ct.bject. Screen 3654,2238 Background moved moved o@home 6699,558 Previous Name: Phone: Events: Sports Event Corp.+ Foreground moved moved o@home 6684,3093 Draw Direct Cathy Smith 204-555-6565 Demonstrate Stored Image 10010101101010010110101001101100 Stored background image] Attention Memory Label Memory Screen 415,4893 Storing the Page 5300,6115 Postit4 1440,7590 Postit2 2550,7871 Postit3 2550,8015 Postit1 Storing the Page title To store the combined background/page image of a page, check Store Image in the Page Properties dialog box. As when storing the background image, ToolBook stores the combined image when you turn pages, switch to Reader level, or close the book. Unchecking the Store Image option removes the stored image. Choosing this option will save this page's combined page/background image.image. 415,6045 Stored Page Stored Image enterPage "Stored Image" 5300,4099 Postit4 1440,6990 Postit2 2550,5855 Postit3 2550,5999 Postit1 Stored Page title When a page's combined background/page image is stored, ToolBook displays the page very quickly using the following procedure. Retrieve the stored image and display it on the screen. Add the direct image to the screen, object by object.ct....bject. Screeng Screen 3654,2238 Background moved moved o@home 3939,513 Previous Name: Phone: Events: Sports Event Corp.9 Foreground moved moved o@home 3939,513 Draw Direct Cathy Smith 204-555-6565 Stored Image 10010101101010010110101001101100 Stored background/ page imageimage- Demonstrate Attention 415,4029 Implications Storing Images: Implications title 415,5181 Postit4 5300,5251 Postit2 1440,6240 Postit3 2550,7007 Postit1 By storing an image, your book will display the stored pages more quickly, but will also cause your book to take up more disk space. Each stored image is valid only on the display device active when you stored the image. You can store images for multiple devices by running ToolBook and saving images on each different device. A combo box in the Page Properties and Background Properties dialog boxes shows the images stored. ges stored. Title Stored images are fast, but take more space in your book. Title Each stored image works for one display device only.C 2550,7151 Metafiles s_lastTestTime s_testTime testType enterPage s_lastTestTime s_testTime clearTest leavePage Metafile Bitmap clearTest 4s_testTime, s_lastTestTime "testType" clearTest 4s_testObj "Metafile" @home "Bitmap" Graphics: Metafiles title 2550,-193 Postit4 415,-2163 Postit2 5300,-2093 Postit3 1440,6240 Postit1 Just as draw objects may display more quickly as bitmaps, imported metafiles can be converted to bitmaps to display faster. To do this, click the Convert button in the Picture Properties dialog box. Note: The resulting bitmap cannot be converted back to metafile format. This example compares moving a metafile with its equivalent bitmap, depending on the selection in the Test Type option box. Converting a metafile to a bitmap may make it display faster. testType buttonDown s_testType buttonUp 4s_testType Metafile Bitmap Test Type Metafile Bitmap showElapsedTime s_testType startTime buttonClick buttonClick 4s_testType, s_testObj "Metafile" "Bitmap" -- Run startTime yStart 4000 H0,60 showElapsedTime @home limits MetafileA Bitmap Metafile 6180,1280 Bitmap 7815,1260 Spiro Graphics Bitmap Color Depth clearTest enterBackground Bitmap Color Depth clearTest leaveBackground Bitmap Color Depth Metafiles showElapsedTime Complex Objects vs Bitmaps firstIdle clearTest "Bitmap Color Depth" firstIdle <> "Metafiles" \ <> "Complex Objects vs Bitmaps" showElapsedTime flushMessageQueue() notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" F$X${ 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage 9509250951162473298296870952 ASYM_TpID """"" Complex Objects vs Bitmaps clearTest leavePage Bitmap Drawn clearTest clearTest "Flag" '"Bitmap" @home "Drawn" Complex Objects vs Bitmaps title 2550,-193 Postit4 415,-2163 Postit2 5300,-2093 Postit3 1440,6240 Postit1 The purple dinosaur is a group made up of more than 35 draw objects. The green dinosaur is a bitmap created using Shift+Print Screen and Windows Paintbrush. Bitmaps are especially useful for small objects that may be made of many draw objects. This example works by alternately moving each object as many steps as possible in one-half second until one of them wins. Complex, small draw objects may display faster if they are converted to bitmaps. Track Bitmap 5(GetTickCount currObj Track Drawn clearTest buttonClick buttonClick clearTest finish "Track" - 150 i = 0 currObj '"Bitmap" "Drawn" GetTickCount() + 500 H60,0 1 - i H-100,0 H100,0 Start Race Drawn 3940,1350 Bitmap Draw Objects Bitmap 3915,2595 " p w " pwp" " pww p"" " wwp"" p"" "" wwp wwp"" wwp"" wp"" wp"" ww "" ww p " " wp" "" " " p" "" wp wp "" "" wwp "" wwp " " w Bitmap Color Depth testType enterPage s_lastTestTime s_testTime clearTest "testType" clearTest 4s_testTime, s_lastTestTime Bitmap Color Depth title 2550,3695 Postit4 415,1725 Postit2 5300,1795 Postit3 1440,10290 Postit1 ASYM_BeenHere Each graphic is saved at a particular color depth, commonly referred to as bits per pixel (bpp), which specifies the maximum number of colors that can be saved in the current format. The most common depths are 4, 8, 16, and 24 bpp. The following table maps bits per pixels to number of colors. bpp # of Colors === ========= 2 2 4 16 8 256 15 32K 16 64K 24 16M ToolBook automatically reduces the number of colors in a graphic so that it can be viewed by the current video driver. ToolBook displays Images that are saved in a format that allows more colors than can be displayed by the current video driver more slowly. Therefore use images with as few colors as possible, and save them in the lowest possible bpp format. This example demonstrates the effect of bitmap graphics on page turning. Choose the appropriate number of colors for the graphic and click the Test buttonbutton testType buttonDown s_testType buttonUp 4s_testType 16 Colors 256 Colors 16M Colors Test Type 16MCols 16M Colors s_testType startTime 256Cols 256 Colors 16Cols 16 Colors pName buttonClick buttonClick 4s_testType, s_testObj "16 Colors" pName = "16Cols" "256 "16M 9MCols" -- Run startTime Images with only 16 colors display faster when running a 256-color display driver. 16Cols Bitmap Depth title 1440,4740 Postit1 5300,-3533 Postit3 415,-3603 Postit2 2550,-1633 Postit4 ASYM_BeenHere 3UwuWvUWwu TCD3D C5UU3 EEUDDE ETDUEDTDDU efeeVfeTVe UUTUUT ETTDUTE EUUEUUTUEU UTDDUVUfgw "#33433 ETDDUEDUDT feDTTV DUETTDDETT VeTUED u3S""2 CCDC4 SU3"44"B TETTEE "$$BDB #23#33 $B"$B"B TTEDT "DD"DBB uUS33 C5Wgvvx TDDUEDTUEE B""B$$""$ BDCD"5Ux "5WUW uS2"5wx SC4DD$DDUU uUUVw yWVgv }VVfz fefUUeUWex emfVfg fVVfg gvffgvfv vfVfVv UfUfV eUeUVeUUVe UffUffUe efeUU VfVeVeVfe eUeVf VVeVffeVfe VfVUV VffVU ffeUff feUUVfe eefefUUeV VVffeVffeU VeVeeUUffU eVfVVfVV eUUVf VVefeUVUUV VeUUVV VfVUVeeVe UVeUUVfeVu Vfwwg ffwvUe fUeVfee uUgfvwv WgwweUWx eUeUUWge vfgwU uwU33 SWuUS533UU wugUUW Wgwwu uwUUwUww U35UUWwS 5Ww335wUS3 wUUS3U USXuWw SUS33S USUU5 UwwUU3S 5U335US ""5UWU3Uu5 5S33w3X US3S335 3S33U5 3US3UW xu5355w UWwwu U353W uS3533uU uUWUWUUSWS 3UUWW~ UwuUUw wuUUW WwWuUWUu WwWuWW uWxwx "!""! S""5ww BU5evS4 vffeeg mfeVg TVVeUeUTEU BC433 fwWwUUfVfi TTEUEE ETEUUVDUee $D"$$ dEUEDTEVfe TDDUDTEFfV UTEEUDUE TTUeUUDDUT dETETDTTU $DD$DDE TDUEUUT VeEEUDETUV efeeEUUEDU TETDTDE EDUDEDD TEUVUE TdUffeTUET TDDTEE B""B" VTDEUEUUVf TUEDUDET B!$D$D UDDTEDUDU EEUUE D WueUS1 !""3"S EDEDDU EUDEDU ffUe23 3DCB2"3U3U EUTB"DBDB EDEDDE D EDUDDE EDT$D SD3US322"" B""BB$ BDBD$ $D$DBD$ C$CC443344 $$3S3CB $$DDUDB$" DEDDTEED DC4DD"B $B$TEC DDEEUVVUUV U DUTETDTEUD TTEDTUTDEE DUUTTDDEE VUUDET BDDBD EEUTUT44D" $"$TDED TEDTUE UTUUTT fUTUU $D""$ TDEEDD$ $DB#"" B"D"D"DBD EUCD3B2" 335s TDUfVffeUe FDeVT,D DDETDDUDE UTDDETdTDD FTUEUUDDT ETDTDDTFT TEUUTEVDEU 332#3 " " " EDDTUUTUUT #"323 #33"#332#3 UDDEDVTDT DDR2"# 33%3233 22"#2""3" EDFUeTeTfU DDE53# #32352332 UUS3S TDDUDB! EETDEDD U33#32#322 3"#32""##2 #33#3"" ##"332# TDEUTDD DDS32#32"3 32"#2"32#2 53353S ?332!#33S3 32##32 3##2" 32##23 233"#2 ##22#3 3""#" B"3/33 " 33S2#32 332331 WwuWU3S2 E3#"# DDTESS 32"22#"3 0#23" E3SU5 wuwWS "3U!" "235? DEEDE353 7S33/ E533S" 23"/ "" U33S5sw2" DUUVU5S3 3#332 E33U3U733 ffVffSS3 "3"3# 0##33 xuVDVE TDDTDTTEDT TUS3WS7733 23"3# U37u7ws# 2#03" eU3sWws3/ S3"3" ffVff gu3W7ws3 / guSW7ws#"3 53355332 sw33/ iffgwwsws3 "#3#" 2 ""3!! Sw332 "2 #"3 ffigw7ww uUS32 "33"" 233#32 S53s 3 220330 #33"" ws73 r2 SS3322"32 ewW23RU/ #332330 w72#0 u73"! ##"%4 32"U4 S233S3" s33533S3 3035S3"S3 233S3?33 3S3#3 "!%3S#S ##3UUuU "%U21#SUW %33U3Uuw wS33S SSWUw 5232! SUU5w "%Uw}V 2!##5ww wwS5335 #55S" wuUU33u S3u3?#2 uu33S3U 5US3S"2 533SS" 5S3Su2" ""#"" S""B2! "#3SS"3 SuS3# S53US! "2"2! #35u2"#2"2 s33S# 5355wuS%S3 ""!##S#5 U335S3UwUU 3"32Y e33535S3S5 3S""5 S5u5WuUSS #2#2"2522Y u33USS7u5 "##2#2# wS5S35Us5 22"233"#S# u33U7US 22#"32 u53UWu5WUW 3##23!#535 337Wu3Wu 3B3#2!33UU 3s3WwS5u SS23"2 UwUwUwWuu 5UUS2"#!%v wuUU3UU33" wu5UUwu535 U7UwuwU55 S""2!!I SS33" wu335U32C" z2U3U322! wsWUS3"!! w7uS2 g?3W/ c5335i eWffi 256Cols Bitmap Depth title 1440,3390 Postit1 5300,-4829 Postit3 415,-4899 Postit2 2550,-2929 Postit4 ASYM_BeenHere Pbb=R b\\Psbb ssb3|3 //(//e^ 3$&$33$3 TT33TGT &3&33& $&33G?PP?f hh=r@`@ ^e^/9 ee/^/696(^ |3||bb $$33$3 T77** yy6cy c/^e/^ej4j J^^69/ E**E*E 3&u[&[&u[& &$&&[[&[[ [uu[&&u& T33bbss\N 6cc6cc6^^F 6966y6c 66y6c u&[&$$&& &$$&&$ /^/^h=Rp rr``@ s\qF(F/ (bsbNZsNq6 =MxxM= y569h 3&$&&$33 @I@w)d ``w@w wII)@l)w pRx~R Ill))I l@ll@` e/6V6^ T+GTGG iy6y66i6yy bRp~~x 6//bs IIll`I IldlIl l@`l))lw ))ll) `@l)llII rIl))l` )l))l ~ngfgxnx nMPXfPPO yiy6yyiy6 y6c9|\ PbPf{xn l)I)d Idld))w @I)I)drr@w w@l)dwldI@ )ddl)d d)d@dd lld)Illdd) b\\Pxx P{PO?__ fn_MM{{ w)@wd@d wl@`d d``@w@@ R_nPO fO7G7 GPbPxfGx @lIwd @Ild@ ~~_{_n Mf{X=M ~_M{{_ p{n~g{_xx{ Of?!XO * U<<* **< * ++7 T+ G T {OOGOP k??!_ {fX__MXM?k X{{ffM{ f??fX {X??GOk? {M!!? X{_{_ x{=\\P{ n{__g ?O!X!!k !!X! ?O UkU? M{nMXk? !kX!fX{ XkU??X_X 7+<CmYm HCQKK K5:5L8 ]88mC 8H8>YK X]8HY8 88Y>z H8Q85 AA6//i L:2j4 KCWWt v2j6A zm>KK 88CYmm KYKC8 KQ8;>> (8;QH y:jJc 8>C88C vFjJ5 Hz8CQ QQHQ: ""}}-U Yzm8C }^2^} VF9Vc :CQH>o tc699F KC>oo5 VV(V"9Fv QY8>o vFj;}};4F^ HCQ8;H 2;QW(CJ /Fq(2( 9;;4F94^X 8HCCK8H5 5WQ252JQ "9jF; HYCKHQH 5:L5tW5V tV"V" c}FF(JJ HKC8CCQ25v "}4J; HH]>8 KCHC( "tV:v j^F;FjjFFj |//yv/ C8(CKH2 8YHC> K>8CC :24(yW AA}^F N;P_g >;88Y> 9i6yV 5;2::9L /9VvVc9c4Z o>>o> C:;;o5J 9/9c6} ]m8>>] J(;KQJ4J5 696AD AD9-9696} cJ;:^ /6}i9 2}VV} ii9^c ^|/69/ef /9c/^ c//^/cF 8H(o8; HH8KQ( 69^9/^ 5K(J;Z "}c9^jF /F99F/c9P >C>]>8 ]o>m>o J;hZZNsh 6^Fj49 669/T iiAAD //6i94 ZNhNhqh/ ^F}A^4 jF;yVT >>]]> JqNJNNh jjhh/ /6^c// qc}4j^}c6 qjqqj^9/ //9/9// qhZNZj^F //9//9i hNNhF ^/99} _J8;> 92y^99F/A F9966/ oQ8(( j^F/9 \ooL: >(J|^F/ AA""A/e JJF^/DD} hF9"" P=;KCY5 q;(:55 t5C5Q (2F|? 16MCols Bitmap Depth title 1440,3990 Postit1 5300,-4253 Postit3 415,-4323 Postit2 2550,-2353 Postit4 ASYM_BeenHere QA/QA/YQ8{sc scYIkYI kQkYIkYI skcQcYA{scYQ8cYA kQkkYkYIcYAkYIkYI{YAYQ8cYAkYI{sc{sc kQkcQkYIkYI cIkcQkcQkYIkI'YQ8kI'YI/YI/QI8I8 A8'I8 QA/QA/I8 QA/A8'A8'8I8A8'A8'QA/AA/I8 QA/QA/YA'cYAsQ/cYAYA'QA/QA/YA kI'c8 kI'kI'YA'c8 kI'sI/sA sI/sA kI'YA YA'kI'c8 kI'kI'c8 kI'sA kI'sA kI'kI'kI'YA kI'sQ/sQ/sQ/sQ/sQ/{YA{YA cIsQ/sQ/kI'kI'sQ/{YAsQ/sI/sI/sA {I'{I'sI/{I' Y/{I' Y/{I' Q'{I' Q'{I' {I'{I' Q'{I'{I' {I'{I'sA {I'sA {I'{I'sI/sA {I'{I'{I'{I'{I'{I'{I'sA kI'c8 kI'YA kI'kI'YA sI/{I'{I'{I' Q'sQ/{I' sI/{I'{I'{I'{I'sA {I'{I'{I'{I' Q/{I'sA {I'{I' Q'{I'{I' {I'{I'{I'sA kI'kI'{YA {YYIYYI skcQcYIQI8YYIQI8AA/QQAcYIcYAYYIcYIcYIQI8AA/QI8QI8cYIYQ8YQ8YQ8YI/AA/QA/AA/A8'8/ A8'A8'A8'QA/QA/A8'AA/A8'/8 8I8AA//8'A8'A8'A8'I8 A8'QA/QA/QA/I8 YA'YA kI'kI'c8 kI'YA'YA kI'YA YA'kI'YA kI'YA QA/YA'YQ8kI'YQ8YQ8kYIkYIcYAkYIYYIcYAQA/QA/YI/YI/YA'YA'kI'kI'YA kI'{I'{I' Q/{I'{I'{I'{I'{I' Q/{I'{I'{I'{I' Q'{I' Q'{I' Q'{I' {I'kI'sA kI'kI'sA kI'sA kI'kI'c8 kI'c8 kI'sA {I'{I'{I'{I'{I' Q/{I'sQ/ Q'{I' {I'{I' {I'sA {I'{I' Q/sQ/{I'{YA QI8AA/AA/cYAAA//8 8I8/8 /8''8 /8'A8'A8'/8 QA/I8 QA/I8 QA/QA/YA YA'YA'YA'YA'YA'YA'YA'YA'YA QA/I8 QA/QA/YA QA/I8 A8'I8 /8'A8'AA/QA/A8'AA/QA/QQAAQAQQAQYQAA/AA//8 A8'I8 A8'I8 kI'c8 kI'c8 kI'sA kI'{I'{I'{I'{I'{I' Y/{I' Y/{I' Q/{I'{I'{I'sA {I'{I'sA {I'sA kI'YA kI'YA kI'sA kI'sA {I'{I'{I'{I'{I'kI'kI'kI'kI'kI'kI'kI'sI/sQ/kI'kI'kYIkYIkcQkcQ{sckkY{sckcQ{sc {sccYIkcQkcQQI8AA/AA/8I8/8'/8'/8'/8 /8'/8'/8 /8'/8'/8 AA/AA/AI8A8'/8'/8 A8'I8 A8'8/ /8''8 /8'/8 A8'I8 kI'sA kI'sA sI/c8 {I'sA kI'YA kI'sA kI'YA QA/QA/QA/QA/A8'AA/A8'AA/YYI cYIkcQ{scccQAI88I8AI8A8'8I8kYIkcQkYIkkYssckcQkkYccQ/8 /8'/8 A8'QA/kYI{sc {k{sckYIYYIA8'A8'/8 '8'/8 YYIcYAkYIcYIYYIcYIcYIkcQQI8AA//8 kI'YA kI'kI'sA sQ/sA sI/sA kI'kI'sA {I'sA kI'YA QA/I8 AA/cYIkkYccQ A8'cYAssc {k{sccYIkcQ s{sccYAQA/A8'/8 AA/cYI {scYQ8 sA8'// {I'sI/{I' Q/{YA{YAYA' Q/{YAkI'{I'kI'kI'kI'kI'sI/sI/sA sQ/{I'sI/sA cIsQ/ Y8{YAsQ/{YA{YAsQ/sQ/sQ/sQ/kI'YI/YA kI'YA A8'QI8YQ8kYI {kkYIA8'/8 A8'A8'kYIkcQcYAkYI cA{YA{YA{YAsQ/{YA{YAsQ/YI/YI/YI/YI/{YAYQ8YI/YQ8cYAYI/YI/QA/I8 A8'A8'I8 YA'kI'kI'kI'kI'YA kI'YA'kI'YA'sQ/YA'YA QA/I8 /8'8/ YQ8{sc YI/{YA kQkYI {k{sc {scYYIYI/kYI{sckcQkYI kQkYIkYIYI/A8'A8'A8'A8'QA/cYAYI/kYIYI/QI8YQ8cYAYI/cYAkYI{sc{sc Q/{YA cA{YA kQkYI sc{YA Q/sQ/ Q/sQ/ cA{YA cAsQ/sI/ Q/{I'kI'YA'kI'kI'YI/YI/kI' cA{YA kQ{YA {k{sc{sc Q/{YA kQ{YA Y8{YA Y8{YA cA{YA Q/{I'sI/{YA{YA Y8{YA kI'kI'sA kI'kI'sI/ Q/{I'sQ/sQ/sI/sI/{I'sI/ Y8{YA Y/{I'{YAsQ/ cA{YA cA{YA{YAsQ/ cI{YA{YA kQ{YA{YA YA{YA Q/{YA Q/{YA Q/{YA Y8sQ/ Y8sQ/ YA{YA cI{YA YA{YA cA{YA YA{YA Q/{I'{YAkI'{YA Q/sQ/ Y/{YA Y8{YA {{I'sQ/ Y8sQ/sQ/sQ/ Q/sQ/kI'sI/sI/ Q/{YA{YA Y8{I'sI/ Q/sQ/ Y8{I' cI{YA{YA cI{YA kQkcQkYIkYIkYIkcQ kQ{YAsQ/sQ/{YA{YA cA{YA Q/{I' Y8sQ/sI/ Q/{I'sI/ kQ{YA{YAkYI kQkcQ cIkcQkYIkYIcYAcYAcYAcYAcYAkYI kQkYIkYIkYIcYAYYIYYIYYIcYIcYIcYIcYAkYIcYIkYIkYIkcQ {kkcQQQAQQAcYIkYIYYIQI8QI8AI8YYIcYIccQkcQssckcQcYIkkYssc{sc{scssc{sc kQkkY{sccYIcYIYYIcYIccQkcQkcQccQcYIQQAYYIkYIkcQkcQkkY{sc {k{sc{sckkY kQkYIkcQ{YAkcQkcQ kQ{sc kQsQ/sQ/ kQ{YAkYIYI/kYI cIkYI{YA{YA cIsQ/YQ8sQ/{YA{YAsQ/sQ/{YA cIsQ/kI'{YA cI{YA{YA{YA cI{YAsQ/{YA{YA kQ{YA cI{YA{YAkYI{YA{YA{YAkYI kQkYIYYIcYIYYIkYI kQkcQ{sc {k{sc{sc {k{sc{sk {k{sc {kcQYYIAI8AI8AQAAI8QYQsscccQsscsscYYIAYIAQA8I8/A//A//A/8I8AQAAQAAQAAQAAQAAQAQYQQYQYYIkkYkkYkkYkkYssc {kYYIAQAAYIkkYk{skkYQYQYcQAQA8I8AI8AQAAI8/A/QQAsscsscssc{scYcQQQAQYQQYQAI8kcQ ssscccQYcQQQAAI8AQAQQAAQAAI8AQAAQAccQkcQYYIkkY s{sckkYsscccQkkY kcQkcQkcQYQ8kYIcYAYQ8YQ8YQ8YQ8YQ8cYIkcQkYI{sc {kkYIYI/cYIccQccQkcQccQccQ{sckcQ kQkcQ s{sccYAkYIcYA{YAkYIkYIkYIkYI{YAcYIQI8QI8QQAQQAAA/8YA8I8/8'8I8A8'AQAQQAQQAcYIkcQkkY{sc{scsscssckcQ{sc{scQQAYYIQQAAA/QQAQYQAQAQYQ{scssc{sc {k{sc {k{sc {ksscYYIQQAQQAQQAQQAccQkcQccQccQkcQ {kkkY {k{sk {k{skkkY {k{sc{sckkYYcQ{sk {k{sc{sc {{scYcQAQAAQA8I8/A//IA/A//A/8I88I8YcQkkYAQA8YA8I8/A//A/8YA/8'8I88I8AI8AQAAQAAQAAI88I8YYIkkYAYIAQAAQAQQAYcQYkYkkYYYIccQ{sk {ccQAI8AQA8I8AI8AQA8I88I8AI88I8'8''8'8I8YYIkkY{sk {skAQAAQA8YA/A/AI8kkY skkYYYIYYIAI88I8AQAYYIAQA/A//8'ccQkcQYYIYkYQQAcYI {scYQ8cYIQI8cYIAI8AI8AI8ssckcQ{sckkYYYIAQA{sc {skYYI{sc sssckkYkkYkkYAQAcYIkkYYYIAQA8I8AI8AQAAQAYcQ8YA'8'/8''8'/8'/A/8I8AA/AYIQYQkkYsscAQAkkYYcQYYIQYQAQAQYQAI8AI8AI88I8AI8AYI8YAAQAkkYssc {k{sk {kcYIkkYccQQQAAI8AI8QI8AQAQQAQQAYYIYcQYcQkkY{sc {k{skssckkYccQYYIcYIkkYssckkY{sk {kssc{sckkYsscssckcQYcQccQccQkkYsscssc skcQYcQ{sk s{scAI88I8/A//A//A//A//A/'8''8'/A/AQAAQAQYQAQA/A//A/ A//A//A//A/AQAAQAAI8AQAAQAAQAAI88YAAQA8I8AQAkkYkkYYcQAQAAI8 A//A//A/QQAccQkkYsscAQAAI8/A//A/ A/'8''8' 8I8kkYQYQcYIssc{sksscQYQ/A/AI8QYQssc YYIAQAcYIAYIQYQQYQAI8AQAAQAAQA8I8 s{skAQAAI8YcQ {ssccYI QYQAQA AQAAI8QYQAYIAQAAQA/8'/A/'8'/A/8YAAQAAQAAA/{sc sscssc{scYYIQQA8I88I88I88I88YA8I8AQAAQAAI8AI8AQAAQAYcQkkYYYIAA/AA/AI8YYI8I88I88I8AI8AI8AI8QQAYYIYYIQQAcYIsscssckkYkkYsscssckkYccQ skkYYYIYcQccQccQccQ ssckkY s{sckcQ{sckcQccQkkYccQ {kQYQ8YA'8' A/'8'/A//A//IA/A//IA8YA8I88YA8YAQYQAQA8I8/IA/A//A/AQAAYIAQAQYQAQA8YAAQAYkYAQA/IAYcQsscssc{sckcQYcQkcQ {k{sk {kAQA8I88YA/IA/A/'8'8YA/8' A/'8'/IAQQAAQAQQAcskAI8AQAYcQYcQkkYkkYccQcskkkYQYQYYIQYQAI8AQAYkYAQA A/8I8/IA/IAkkYsscAQAssc {kssc k{sAQAAQAQYQQYQQYQAQAAQAAI8QYQYcQssc sscAQAQYQAI8AI8AYIQYQAQAccQ {{skssccYIQYQYYIYYIQQAQYQAI88I8AI88YAAA/AQAAQAAQAAYIQYQcskssc {ccQAQA8YA8YA8YA/IA8YA/IA8YA/A//IA8I88YAAQAAYIAYIAQA8YA8YA8YA8YAAQAYcQQYQAQAAQAAQAQYQAYIAQAcsk{sk {sscQYQAQA8YA/IAAI8ccQAI8 A//A/AQA {kkkYYYIkcQk{sYcQcskkkYkkY {kYcQQYQYcQk{s{scYkYkkYYkYYkYAYIssc{skYcQAYIkkY{sk sscQYQAQAAYIAQAAQAAYIAQAAQAccQ YcQssccsk8I8AI8kkY{sk YkYQQAAYIAQA8YAQYQcskkkYQYQYkY scskYYIAYIAYIAYIAQA8YAAYIAQA8YA8YA8YAAQAAYIQYQYcQYcQccQccQQYQQYQQYQQYQAYIAQAAQAAYIAQAAYIAYI{sk {sc{sksscssccskAQAssccsk8I8/A//IAAQA {kssc{sc {k{sk {{skk{sYYIYcQ {sscsscYkYYkYYYI {YkYccQYcQQYQQQAQYQQYQYYI YkYssck{s{sc QYQAQAccQccQ s{skk{sccQQYQYcQcskccQssck{scskYYIYkYcskkcQkkYccQcskccQccQYkYkkYcskYYIAYIQYQQYQQYQQYQQYQ {skcskkcQ ssccskccQcskccQkkYYkYccQYkYkkY {cYIcYI{sk{sk {kkkY {kkcQkcQkcQkcQ {{sckcQ {kssc{sk {sckcQcYIQI8YYIcYIYQ8kYIkkYYYIYQ8YQ8{sc s{sc{sc {skkkY{sc {{sc{sk {ssc{ {ksscccQkkYkkYssc {k{sc {k{sk{sksscssc{sk {kkcQccQssc{sc {k{sc{sc kQ{sc cI{YAkYI{YA{YAkcQkYIsQ/kYI cIsQ/kYI{YAkYI{YAsQ/kYIkYIkcQ AQAkkY/8' A8'YYI {skAI8/8'/8 YA'YQ8A8'kYI sckcQ scYI/QA/QA/I8 QA/cYAkYI{YAYI/YI/kYIYI/sQ/{YAYI/kI'QA/QA/cYAYQ8YQ8{sc{sk {k{sk kcQkkY kcQcYAkYIcYAcYAcYIkYIkkYkcQccQccQYYIcYIYYIQQAYQ8YYIcYAkYI kQkYIkYIkYIcYAkYIkcQkkY {{YAsI/{YA{YA sckYIcYAkYIYQ8kI'YA'YA'YI/YI/{YA{YAsA kQ{YA Y/{I' Q'{I' cYA8/ QA/Q/ A8'QA/I8 A8'QA/AA/QA/YQ8YQ8cYIcYAkYI{sc kQkYIYQ8kYI kQ{YA Q/{I' Q/{I'{I'{YA{I' Q/{I'sA sI/sA {I'{I'{I' YA'c8 kI'kI'kI'{I'{I'{I'{I'{I' scsI/{I'{I'{I' Q/{I'{I'{I'{I'{I' Q/{I'{I'{I'{I'sA {I'{I'{I'{I' YA'YA kI'YA kI'sI/sA {I'{I'sI/{I'sI/{I'sA {I'{I'{I' {I'{I'{I'{I'{I' {I'{I' kI'YA kI'YA kI'kI'c8 YA'I8 kI'c8 kI'sA {I'{I'sA kI'{I'{I' {I'{I'{I'{I' Y/{I' Q/{I' {I'{I' {I'sA {I'sA {I'{I'sA {I'{I'{I'{I'{I' Y/{I'c8 Q'{I' {I'{I'{I' Q/{I' Y/{I' Y/{I' Q'{I'sA {I'{I' {I'{I' {I'sA {I'sA A8'A8'/8 QI8QI8/8 /8'A8'/A//8'/8 {I'sA {I'sA {I'{I'sA {I'sA {I'{I'sA Y/{I'sA Y/{I' kQkYIQI8cYAQA/QA/ AI88/ YQ8YQ8YQ8 A8'AA/ kcQAA/AA//8' YYIcYIcYIcYI {k{sckcQAA/I8 {I'{I' Q'{I'{I'sI/sA kI'c8 {I'{I'c8 {I'{I' {I'{I'{I'{I' Q'{I' {I'sA Q'{I' kQ{YAA8'' A8'A8'A8'A8'I8 QA/I8 A8'/8 A8'AA/QI8QI8AI8AA/QQAQQAYQ8A8'/8 AA/A8'A8'/8 YA'kYI kQYA'Q/ kI'sA sI/sA kI'c8 kI'sA Q'{I'sA {I'kI'sI/ Y8sQ/{YA Q/kI'kI'sQ/ Y8sQ/kI'{YAkI'YI/A8'I8 A8'QA/YQ8YQ8YQ8AA/A8'8I8/8'/8 /8'8/ {I'sA {I'c8 Q/{I' kI'YA kI'c8 kI'YI/kI'YI/YQ8{YAcYAcYAkYIcYAYQ8AA/QA/YQ8YI/YYIQA/I8 {I'{A kI'c8 {I'{I' kI'c8 kI'sA kI'Y8 QA/8/ A8'I8 QA/A8'I8 A8'I8 A8'A8'QA/A8'A8'I8 A8'I8 QA/AA/YYIQA/QA/A8'YA QA/I8 YA'kI'Q/ kI'sQ/ cA{YAsQ/sQ/kI'sQ/sI/kI'YA kI'kI'sQ/{YA{I'{I'sQ/sQ/{I'{YAsA {I'c8 {I'{I'k/ kI'k/ kI'k/ kI'c8 kI'c8 kI'YA QA/QA/I8 YI/YA kI'YA QA/sQ/sQ/{YA cIsQ/YI/I8 kI'YA kI'kI'{YA{YA kQ{YA{YA{YA sc{YA{YA{YAsQ/YA'sI/{YAsI/{YAsQ/{I'{YAkI'sQ/sQ/sQ/kI'sI/kI'kI'sI/sI/sQ/sQ/sA sQ/{I'{I'sA kI'sQ/YA kI'sA Q/{I'sA {I'sA {I'sA {I'{I'{I'Y/ kI'c8 Y/sQ/{I' {I'sA {I'sA {I'{I' Q/sQ/sI/{I'sA {I'sQ/YA kI'c8 kI'kI'kI'kI'c8 kI'kI'kI'YA A8'I8 A8'I8 YA'I8 YI/Q/ YI/sQ/kI'YI/sQ/kYIsQ/{YA kQsQ/sI/sI/kI'kI'YA'YA YI/YA YA'I8 kI'sI/YA kI'Y/ kI'c8 {I'{I'{I' Q'{I' Q'{I'sA sI/sA Y/sQ/sQ/ Y8sQ/sA Y8{I'sA kI'kI'Q' kI'c8 kI'c8 kI'YA sYYI/8 AA//8 A8'8/ YQ8QA/ kcQcYAkYII8 QA/A' kI'sQ/sQ/YA QA/Q/ QA/A8'I8 A8'/8 /8'A8'A8'/8'/8'kkY{sk/A/ {I'sA kI'sA AI8AQA {I'{A {I'sQ/sA AI8YcQ8I8' kI''8 AQA/A//8'AQAAQA AQA/A/'8' QQA8I8 {I'{I'{I'{I' kI'c8 8I88I8'8' /A/'8' '8'AQAAI8/A/'8'' '8'/A/8I8AI8/A//A/ '8'AI8AQA'8''8''8' Q/sI/{I'sQ/sQ/{I'{I'kI'sI/sQ/sQ/sA {I'{I' '8''8''8'AQA QQAAYI8I8AQA /A/AQA/A/'8''8' 8I88I88I88I88I8/A//A/'8''8' '8''8' '8''8' kI'kI'sQ/sQ/sQ/sQ/sQ/{YAkcQ kQ{sc{sc{YA kQkcQ{YAkYIYQ8{YAsQ/kYIsQ/sQ/ sQ/YA YQ8AQAQQAAQAAI8 '8''8'/A/ '8'/A/AYIQYQ/A/ 8I8'8'8I8/IA'8' '8''8''8' /A//8'/8'/A/AI8AQA8/ /8'8/ {I'sQ/kI'kI'YA'QA/QA/A8'QI8AQAQQAQQAQQAYQ8YcQYcQkkYccQccQYQ8YQ8YQ8YYIcYAQA/QA/YA'YA kI'kI'sA QI8QQAAYI8I8/A//A/ A/'8''8''8' /'8I88I8/A/'8' '8''8' '8''8''8''8' '8''8' '8'8I8/8'/A/'8' /8'/8''8' /8'/8'/A/AA/8I8AA/AI88/ /A/8/ AQAAYIAQAAYIAI8 AQA/A/ {I'sA sQ//A//A/AQA'8' /A/'8' A/'8' /A/'AA'AA/A/'8' A/'8' '8''8''8' /A/8I88/ /A//A//A//A/ /8'/A/8I88I8/8''8'/8'/8'/8'/8'/8'/8'8/ /A/AI8AI88I8/8'/A/AI8/A/ AYIQYQAYIAYI/A/'8'AQAQYQAYIAYIYkY/A/ QA//IA8I8/IA/A/'8''8''8' A/'8''AA'8''8''AA'AA /A/'AA'8''8''8' /A/AI8AQA/A/8I8YcQAQAAI88I8/A/AQA8I8 /A/8/ '8'/A//A//8' /8'/A/ 8I8/A/'8' '8'8/ AQA/A/ AQA'8'8I8 8I88I8/A/ '8'/A/' kI'8I8AQA/A/'8''AA/IA'AA/IA/IA'AA8I8/QQ/IA8I8/IA'8'/A/'8' A/'8''8''8''8'8I8 8I88I8AYI8I88I8 8I8AQAAQA8I88I88I88I8/8'/A/8I8AQA8/ 8I8/A/AQA/A/ '8'/A/ /8'/A/'8' kI'k/ '8'/IA A//IA8I8/A/ '8''8' '8'/A/8I8/A/ kI'QQAAYI8I8 A/'AA'8'/QI8I8/QQ8I88I8'8'8I88I8'8'/A//A//A//8'/A/AI8/A//8'8I8AYI/A/AQA8I8/A/'8'/A/ 8I8AQAAQA/A//A/8I8'8' /A//A/AYI8I8'8'QYQAYI8I8 '8'/A/8I8/A/ 8I88I88I8/A/ sQ//8' 8I8'8'/QI/QI'AA8I88I88I8'8'/QI8I8AYI8YY8I8cskYkY8I88I8QYQ 8I8/A//A//A/ Q/YQ8AYIAYI8I8/A/AQAAYI8I88I88I88I8/A//A//A/ /8'/A//8'AQA/A/'8'8I8AYI8I8/A/ 8I8/IA8I88I8'8'8I8/IA A//IA 8/'8'/A/'AA '8''8'8I88I8'8' /A/AQAAYIAYI8I8 sI//A/ /IAAYIAYI8I8AYI8YYAcc/QQQYQk{sk{sk QkkYkYk{sQkkQYQAYI'8'QYQ8YY8I8 kI'/A/'8' 8I8/IA/A/AQA/IA/IA8I8 '8'AI8 /A/8I8AYI8I8'8 /8''8 Q'sI/AQAQQAAQAAQAAQAAYIAYIAQAAQA8I88I8/A/ AI8/A/8I8 'AA'AA /'/IA'AA8I8/IA A/'AA '8'8I8/A//A//A/8I8AYIcsk/A/ /A/'8 cYIAYIAYIQkk8YYQsscskAcccskY{{Qs{s k{sQkkk Y{{Qkkk cskAYI A/'8'/IA /A/8I8AYI/IA8YYAYI/IA/IA 8I88I8QYQYkY Y/YQ8AYIAQAQQAAQAAYI8I88I8'8'8I8AI8 AYI8I8AQAAQA/A//A/'8' A//IA/IA/QI/QI'AA A/'8''8' 8/8I8'AA /A/AQAAQAQYQ AI88/ {YAk{sIksc Qs{Qssc kkY8I88I8 YI//A//IA/QI/IA8I8/IA/IA8YYQkkAcc8YY A//QQ'II '8''8'QkkkkY YQ8AYIAQAAYIQQA8I8'8'8I8 A/'8' 8I88I8/QIAYI/IA'AA'AA 8/'AA'AA/IA'AAAYI8I88YY/QQ/IA'AA'AA/QI8I8/QI'AA'AA '8'AI8AYI8I8 {I'ssck AQAccQsA kI'QYQ/QIAYI8I88YYAYI8I8Acck csk8YY/QQ'QQ8ck 'II/QI8YY kI'AYIQYQAYIAYI8I8/A/QYQ/IA 'AA/QQ /''AA 8//IA'AA/IA/QQ8I8/QQ/QI/QI/IA/QQ8YY/QI/IA/IA8I8'AA k{skYIsA {I'cYI/QQAYIAYIAYIQYQAYI/QQIkss AkkIs{Is{ /IA'II'AA /A//A/ Q/AQAQYQQYQAQAAYIAYIAYI/A/ AYI'AA'AA /'/QI/QQ8YY/QI A//QQ 8/'AA/QI'AA/QI/QQ/QI/QI'AA A/8I8/QI'AA'AA/QIAYI'AA sQ/Acc/QQ8YY8YYQkkcsk/QQ/YQIksQssAksIs{'QQ A//A/ AYIQkk8YY AA/A/8I8 Y/cYIAccQYQ/IAAYI8YYQYQ/IA'AA8YY'QQ/QQ'AA 8/'AA 8/8ck8YY/QI/QQ/QQ/QI8YY/QQ /''II/QI/QQ IA/QI/QI/QQ/IA 8//IA8I8 YcQ{I' Q'QkkAccAcc8YYQkkk Qkk8YY/QQIs{AksY Aks'QQ'QQ8YY /QIAkk8YY'AA8I8/IA cAQYQ/QQ/QI/QIAYI/QQ/QIAYI/YQ'II'QQ/YQ8ck /'8YY'II'QQ/YQ8YYAcc/QI/YQ'II/YQ8ck A/'QQ'II IA/IA IA'AA/QI/IA A/'8' sIkkYQssAkk8ck8YYY{{c{ IksAccY{ Is{Is{ /'/QQ 'QQIks IA/QQ8I8 kQ/QI AA'AAAcc8YYAYI8YY8YY8YY/YQ'QQ8YYAkkIks'II'IIAkk'II/QI8ck/YQ/QI'II8YY'AA /''II IA'II'AA8YY AA/QQ/QI/QI '8'AYI {kQssIksIksAccAkkQs{AkkIksIs{Y{ Is{Is{'QQ 8//QQ AA'AA {c'AA 'II8YYAcc8YY/QIAcc8YY8YY8ck/ck8ck8ck/YQ'IIAkk8ck'II8YY8ck/QQ'II8YYIks 8/'AA'AA'II/YQ AA'II/QI cA{I' cskssc {ck{sQs{IksAcc/YQIksY{{AkkIs{Is{Y Is{/YQ AA8ck {c/A/8YYAcc'II8YY/QQ8YYAcc'QQ8ck8YY/YQ/YQ/YQ'QQ /'/ck8YY8YY/YQ8YY/YQ'QQ'QQ8YY/YQ AA/QI'II/QQ8YY/QI/IA IksIksAkkIksY{ 8ckQs{Y Is{Is{/ck /'/QI'8' {c8YYIks/QQ/QQ/YQ/QI8YYIks/YQIksAkk/QQ8ck/YQ 8//YQ8YY/YQ'QQ/YQ8YY/QI/QI8YY/QI 8//QQ'AA/QQAcc'II A8'A8'/' sI{YA Is{Y{ Is{AksY /ck/ck/YQ'II 'II'AA// {cIks/QQ'AA'II/QQ8YY8YY/YQ8ckAksIks/YQ/YQ8ck8ck'II 8//QI IA'QQ'II'II8YYAcc/QQ8ck8YY A//QQ A/8YY8YY A/AYI'8' A8'// {YkcQ AksY{ Is{Aks AA'QQ'II /''8'8/ kAYIAcc8YY/QQ/QQ'IIAcc'QQ IA8ck8YY/YQ'QQ8ckIks/QQAcc8ck/YQ'II A/'AA 8/AccAYI8YY/QI /''AA 8/'AA/QQ/IA/QQ'8' kQkI' sIk{sQs{c Qs{8ckY 8//QQ {YQYQIksAkkAkk/QQ A//QI8YY 'AA'QQ/YQ/YQ/YQ/QQ 8/'II'II8YY8YYAcc'AA/IAIksIks/QI A/'II A/'8'8I8 A8'A8'// Qs{Qs{Y /'Acc '8'/8' kkcQAccY{{Qs{ A/'AA'AA8YY/YQ AA/QQ/YQAcc/ck/YQ IA'QQ8ckAccAcc/QI'AA8YY8YY8YY8YY 'AA'AA /''AA Is{Is{/ck8ck /''QQ'AA '8'8I8'8' sIksQssQssIks/QI8YY8ckAkk A/'IIAcc8ck8ck/QQ'II'IIAcc8ckAcc/QQ IA'II8YY/QI8YY'AA 8/'II A/8YA Is{/ck/ck/ck 8//IA 8I88I88I8/8' kkkYIksQssQs{/QQAcc8YYAks AA'II'QQ8ck/YQ/YQ/QI AA/QQ/YQ8YY/QQAYI8YY/QI IA8YY'II A//QI Is{/ckAks/ck/ck AA/QQ /A/QQAAQA {kAccQssY{{/YQ8YY8YY/YQ'QQ IA'IIAkk/QQ'II8ck/YQ8YY/QQ8YY AAAccAcc/QI'AA 8//QI/QQ AA'AA/QI/IA Is{'QQ/ckAks/ck8YY /8'8I8 kQkkQs{Qs{8YY'IIIks8ck'II A/'II'II8YY/YQ8YY AA/QQ/YQ/YQ'II AA'AA 8//QI'II'II AA'AA'AA A//QI k{sY{ Is{Is{Is{/ck'QQ/ckIs{'QQ /A/QQA/8 ksscAkkAccIks/YQAksIs{'QQ 8/8YY8YYAkk8YY AA'II/QQ'QQ/YQAcc AA/IA8YA8YY Akk/ckIs{Is{Is{'QQ /QQAcc AA/QI8A8'8/ scIks8YYIksQss8ckIs{8ck'II 8//QQ'IIAkkIks'QQ'QQAkk/YQ'IIAcc'II'AA 8/8YY8YYAcc/QI A/'AA'AA scskIs{/ck/ckIs{'QQ 8/k{s /8'AI8/8 kcskIksIksQkk8ck'QQ8ck/YQ'QQ'II'QQ IA/YQ/YQ8YY8YY/YQ/QQ8YY/QI/QI8YY /''AA8YY8YY/IAAYI/QI 8YY/QI/QQ/IA'8' Qs{/YQ'QQIs{'QQ k{s'8 Qkk'QQIksAkk'QQ/YQ/QQ'QQ /''II AA/QI/QI A/8YYQkkAYIAYI A//QQ'AA/QIAYI/QQ/QI'8' kcskIs{c{ IksIs{/ck AA/QIQYQ cskQQA kkkY/QQQssAksAks/QQ/QQ/QI'II/YQ/YQ A/'II A//QI/QQ 8/'AA'AA8YY/QQ'AA /'AYI8YY8YY8YY A//IA'AA/IA8YYAYIAYI/IA Is{Qs{AksY /'AYIAYI {kAccQs{8YYAkk/QQ/QQ8YY8YY/QQ'II AA'AA8YY'QQ'AA/QI/QI/QI AA/IA8YY/QI/QI/QI A//IA/QQAYIAccAcc /''II/QI8I8/QQAYI/IA'AA {Qs{Iks8ckIs{/ck AQAAQA/8'// sc/QQQkkAcc8ck8YY 8/8YY/QQ/YQ/QQ AA'QQ/YQ'QQ'II8YYAccAYI/QI'IIAcc8YY8YY/QI'AA8YYAYI8YY/QI /'/QI/QIAYI/IA Qs{AksY QQAQYQ/8' k/QQ8YY8YY8ckAks8YY AA'II8YY8YY/QQ'II AA/YQ/QQ'QQ/QQAcc/QI/QQ/QQ/QI8YY8YYAYI A/8I88YY8YYAcc8YY '8'/IA {Iksk AI8QQAQYQ'8' k8YY'QQAccAkk/YQAkk/YQ AAAkk/YQ/YQ'II 8/'AA'QQ/QQ/QI/IA8YY/QIAcc8YY'II/QI8YY /'/A//QQ/IA'AA/QI {kAcc QQAQYQccQcYA {k/QIAccAkk'II'IIAcc'QQ/YQAcc8YYIks'QQ'II/QQ8YY/QQ'AA 8//QQ/IA8YY8YY'AA'AA'AA /'/IA/IA'AA/IA {kcsk{ /A/AYIkkY scIks/QQ8YY8ck/QQ'II'QQ'II/ck/YQ/YQAkk'II'QQ/YQ/QQ/QI A//IA'AA A/8I8 /QI/IA AA/8/ AI88/ kkcQ{ AQAYkYsscAI8' kQY{{'QQ AA8ck8YY/YQ8ck'QQ/QQAkk'QQ'QQ'QQ/QQ/YQ'QQ AA'II 8//IA/QI/QQ8I8AYI /''AA/IA'AA8YA8YY AA//A/AA/' sI/{I' AI88/ kkkY8YY8YY8ckAkkAccAkk8ck/YQ8ckAccAkk/QI'II/YQ'II 8//QI 8//QI8YYQkkAcc8I8 /QI/IA'AAAccQkk/A//A//A/ /8'/8 A8'AI8A8'AA/A8' s8YY/QQAcc'QQ/QQAccIks8ck/YQ8ckAkkIks'QQ'QQ8YY/QI8YY8YY A//QIAccQkkQkk'8'8I8'AA QkkAcc/IA AI8/' Qs{QYQ QI8YQ8A8'YQ8QA/ {QYQ/YQ 8/AkkIks/ck8ck/YQ8ck/QQ'II'II/QQ'II/QI /IA'II/QQAccQkk/IA8I8/QQ'AA A/8I8/IA AI8QQAAYI' AYIAQAAI8AA// Y{{'8' cYIYQ8A8'QA/QI8/8 {QssIks/QQ A/'8' 'AA8ck8YY'QQAcc'QQ/YQ8YY/IA A/'AA'AA8YY'AA/QI/IA/QQAYI'AA 8//A/AYI/IA 8I8/QIQYQ A8'AI8ccQ8I8/A/8I88/ AYIAYIAQAAI88/ AQAAA/ A8'QI8' A8''8 {YkYAkk8YY8YY/IA A//QQ8ck'II8ck8ckAkkAccAcc'QQ /'/QQ'AA/QI/QI A//QQ'AA'8''8' /IA/A/'8'/A/QYQ/IA QQAAI8AYIYkY/A/' AI8QYQAQA k{sAkkAkk8YY8YY'AA 8/Acc8YY/QQ'II8YY8YY8YY8YY8YY'II /''AA'II/QI A/'AA/IA'AA'8' AI8AI88I8QYQQYQYkYYkYk{skkYkkY{scYkY ssc8ckAcc/QQ'AA/QQ /QQ/QQAkk AAAcc8YYAcc A//QI/QQ/QI/QI/IA/A/'8' QA/8/ QI8YcQQQA'8'8/ AQAQYQAYIYkYYkYYkY{ QI8A8'cYA sscIksAkkAcc/QQ8YY'AA'AAIksAcc/QQ8YY8YY/QQ8YYAcc8YY8YY A//QI'AA/QI8I8'8' A8'A8'A8'QI8 QQAAA/AI8AYIAI8QQAQQAAI8AI8QQAssck{skkY YQ8A8'A8''8 {{skQs{Y{{Iks8ck/QI'II 8//QIIks/QQ/QIAcc/QQ/QQ/QQ8YY/QI/QQ8I8/QI A/'AA/A/ A8'QI88/ YYI8/ kkYAI8YcQAYIQYQk{scskkkYk{s QA/8/ sQssIksQss8ck/QQ'II'AA/QIAcc/QQ8YY8ckAcc8YY A/Acc/QQ/QI/QI'AA'AAYkY8YY /A/AQA8I8'8 AA/AI8QQA AI8ccQAYIYkYssckkYkkYAYI {ccsk QI88/ {QssAksIksIksIksAccAYI/QQ/QQ'IIAccAkk8ck8YY/IA8YYAcc8YY8YY8YY/QQQkkYkY /A//A/ A8'A8'A8'' YQ8kkYQYQ {QssIksIksIksQkkIksAcc8YY8YY'AA'IIIksIksIks/QI'IIAcc8YY/YQ/QQ'AA/QIk{sAYI'8'AYI/A/ A8'8/ /8'8/ /8'AQAssc{sk{sk s/QQs A8'QA//' k{sQs{Qs{Y{{QkkAccAccQkkAcc8YY8YYAccAkkIksAcc/QI8YY8YY8YY/QI AYIAYIQkk'8'QYQcsk8I8 A8'8/ /8'/8 AA/YcQccQkkY{sk s8ckIs{s QA/YQ8A8' Qs{QssIksIksQkkQss8YY A//QQAccY{{IksAkk8YY'QQ/QQ8YY8YY8YY/QQQYQ8YYAYIAYIk{sQYQ'8'/A//A/ AQA8I8 A8'8/ QQAYYI s/YQY cskIs{Iks/QQ8YY8YYAccQkk/QQ/QQ/QQIksIks8ck8YY/QQ8YYAcc8YY/QI8I88YYQYQQkkQYQQYQ8YYAQA8I8QQA/8' YYI'8' QA/cYA {c'QQIs{Y Y{{'8' {Is{Iks/YQ/QQAccAccIks8YY'II'II8YY8ck8ck8YY/QQ'II8YYAcc8YYQYQ8I8AYI A//IAQYQAQAQYQ'8' 8I8/A/ {k/QQY Qs{8YYAYIAccQkkAcc8YY/QI AA'QQ/QQ/YQ/YQ8YY8YY8YYQssQkkAccAYI8YYQYQ8I8k{sQYQ/A/ /8'QYQAYI AA/8/ A8'/8 YQ88/ k/QQIs{Y Qs{'AA YkYY{{IksIks/QI8YYIks'AA/QI8YY'QQ'QQ/YQ8ck8YY/QQAcccskcskYkYkkYQkkQYQYkYYkYQYQQYQ/A/' A8'/8 A8'I8 A8'8/ AA//8'QA/QI8AA/YQ8A8'/8 A8'QA/ k/QQIs{Y A8'A8' QQAAccY{{QssIks'IIAcc'AA A/'II'II'II/QQAcc/YQ/QQk{sk k{sQkkQkkAYIAYI8YYAQAAQA/A//A/' A8'8/ /8'A8'AA/A8'' /8'A8'A8'AA/A8'/8'AI8cYI k/QQY{ s'II8YYIksAcc8YY8YY'II'II'II'II'QQ 8/8YY/QQ'AA8I8Qkk/QQAYIQYQAYI/QQYkYcskYcQAI88/ A8'8/ A8'8/ /8'A8'A8'A8'QQAYQ8 k8YYIksIs{Acc QA/8/ {8YYAccIksAcc8YYIks8YY 8/'QQ'QQ'QQ'II 8/'AA'AA/QQ A//IA8I8 /IAAYI8I8AYIssc{skYcQAA//8 A8'A8'' A8'8/ AA/8/ A8'AA/QI8YQ8 sIks8ck/ckIks s8YY8ckAccAkk8YYIks'QQ /''II8ck IA/QI/QI'II AA'II/QI8YYQss'8' A/8I8QYQAYIssc {{skssccYIA8'8/ QI8cYIA8'QA/AA/8/ /8'8/ AA/QQAAI88/ A8'/8'YQ8 kIks8ckAks8YY {Qkk8YY8YY8YY/QQAkk8YY/QQ'QQAkkAccQYQIks8YY/QQ8I8AYI8YYssccsk/A//A/AYIkkYssc {k{skkkYkkYYYIQI8A8'A8'AI8A8'8/ A8'AI88/ AI8A8'/8'8/ k/QQ/ckIs{/QQ kQkk8YY8YYAcc/QIAccIksAcc/QQAkkIksQkkAcc/YQAccQkk8YY8YYYkY{ YkYQYQAYIYYIsscssckkYkcQYYIAA/AA/A8'A8'A8'I8 A8'8/ AA/AI8QQAAQA8/ A8'sQ/ kQ/QI/ckIs{Qss Y{{/YQAcc/QQAccAkkAkkAcc/QQAccQkk8YY/YQQkkk{sQkkAYIQkkkkY {kkYccQcYIccQAI8QI8QA/8/ A8'A8'/8 A8'A8'/8 AQA8/ AI8QYQAI8' AA/8/ {k8YY/ckIs{Qss Qss8YY/QQ8YY8YYQssQssQss8YYQYQ8YY8YYQs{ {Qkk8I8csk{ ssc{skssckkYYYIkkYYYIccQYYIA8'/' A8'8/ A8'A8'// AA/AI8' AA/AQAYcQQQAAI8AYI'8 sc8ck/ckY{ {QssAccAccIksIksAccAcc8YY8YYQkkQkkQkkk{sAcc8YYQYQccQkkYQYQkkYkkYYYIQQAQQAYYIYYIA8'8/ A8'8/ A8'/8 AA//8'A8'A8'8/ A8'ccQ/8'' AQAQQAAA/' /8'/8 kAccIs{Y{ k{sIksAccAccAccAccQssQkkAcck{scskcskQkk/QQQYQQYQYkYkkYkkYkkYkkYccQQQAccQccQQQAAA/8/ A8'8/ A8'8/ A8'A8'A8'8/ QI8kkYQQAAI8QI8YYIAA//8'8/ kAccAksAksAcc {QkkAccQss8ck8YYQkkQsscskk{sk QkkAccQkkcsk {cskccQccQ{skccQccQssckkYsscYcQA8'A8'8/ A8'8/ A8'A8'8/ A8'A8'8/ A8'AA/QI8AI8AI8AI8QQA' {YkY8ckY{ {skAccAkkAkk/QIAYIk{scskk{s cskAccAccQkk {{skkkYsscsscccQYYIssckkYsscQQAAA/AI8I8 A8'A8'8/ A8'A8'8/ A8'QA/AA/AQAQkkkkYYcQccQ8/ kAccAkkAksIks {kAccAcck{s/QQ'AAAccQkkk{s{ Qss/QQ8I8csk{sksscsscsscYkYYYIkkYkkYYYIAI8QI8AA/AA/// A8'/8'8/ A8'8/ AI8AI8kkY {YcQ8/ k/QQIksAksc sIksIksc Y{{QkkQYQk{sk cskQkkk k{scsk {kkYk{sccQAYIYYIYQ8YcQQQAYYIQI8AA/A8'8/ A8'8/ /8'A8'AA/ cAYI8YYAkkQkk k{sIksk{sY{{IksQkkYkYQkkQkkQkk{ sscccQccQccQYYIAA/AI8cYIQQAYQ8QQAAA/AA/AA/AA/8/ A8'A8' {QYQ/QQAYIAcc Y{{QssAcccskQkkYkYQssYkY{ {cskAYIYcQAQAAI8AA/QI8AQA8/ /A/'8 AA/8/ AI8A8'' kcskAccQssQkk {k{sQkkQss8YYk{sQsscsk{ Qkk{sk {ccQQQAAA/QI8AA/QI8QI8AI88/ A8'8/ s{sk8YYk{sQYQ Qssc{ QkkQkk8I8/QQcskIksQkkQYQYkYYkYQQAAI8QI8AI8AA/AI8A8'A8'/8 A8'/8 kQQkkQkk Y{{Qkk/IA/QQ8I88I88YYQkkYkYQQAAA/AI8A8'8/ A8'8/ s{scQkkQkk cskYkYAcc8I8QYQYQ8AA/AI8A8'8/ A8'// A8'QA/YI/ kQQkkQYQ AYIQssk{scskQYQQYQAI8AA/A8'/ QA/{YA kQ8I8/IA/QQYkY {k{sYkYQQA/8'AA/' {Y/A/8YYIks8YY {YkYQYQYYIAI88/ cAQAIks8YY8YY csk/A/8/ YQ8QI8 scYIAcc8YYcskAI8 {c8I8 {c/QQAcccsk/A/ {kcskQYQ cQQAAkk8YY {{scQkk kYQ8Iks/QQ 8I8'8' sQYQA8'I8 kkcQQss/A/ kk{s'8' '8'/IAQss{ /QQY{{QkkQkk AccIksIksAcc /IAIks AAAkkQss'8' /IAQss8YY8YYQssYkY/A/ 'AA8YYQsscskQss Qkk/QQ/QQ AccQkkAYI {kAYI A//QI'II'8' scAcc8YY'AA8I88I8 {c/QQ8YY/A//IA8I8 kkkY/IA cccQAYI8I8 '8''8' {Y/A//A/'8 sc8I8AI8 kQYkYccQ {Y/A/ '8'/QI'8'/IA/QI/A/8/ sQ'8'8I8IksAkk8YY8I8/A/AI8YQ8 {Y{sckkY{sk 1440,3840 Postit1 5300,-4397 Postit3 415,-4467 Postit2 2550,-2497 Postit4 ASYM_BeenHere I4>$)KS :'')J64[F}m=m==J= mF6==+ 4PAAAM4F[YA0bAbAPPP4[ S6>+$'E'QQ56 '')PA >998))$))$$-L+HHJX=e AP,P,,,: kGGGE5 L>LBF 5$L)LL+L-"--> -:$)'99)$[tF TEVVVGG QyreUbSeA-''9'. >H8:YS IH:4M4F6,F,6 AUAF6[M A0bP[vPF4P -MAMMAAM 6=9q'QVVVTL >8')999'''8-m==X5X5M S rB:F 466}m===K 5pEGGG 5$85$- -B,,B>)9L6985)$5 L$-""))' .--BM I$$Qp_dd_pk ,6-:- bMPF4yPM4bePMMPPY 6,4P4FB6> ,BKAA J"PyP GGGGq B+B-++6B,= L''6FFFB\h=vUAA 8.QZ)ZXhXXL=Xk dXXXX5pVEQ E5$)85:-B >$8L-5+5$88H585+L+JJ-H H88'. 4mP4M "+-bA 4,">) -: "BP[YPP4M PMyMyMM ,>J[[4[4 [P44KAS GGGGGG F44F,4F[44P% UAAbeMM '$8'$L>4,L8'5$$+5''8-L$H=55LJ GGGGkEQQQQpd vM4F$)' YBMF4PPA yPPM,6 FP[P4yMKP[[PAMYKM,BJJPP4[PM [PF4444[F44AMY, H:''' GGkQVQdZXE )85L- M ).8)555L5))L$$LL55$5JB% $5T.qG GGGGG 4y4,% >'$ -Bvyyyyb MyP4vPM[P MPvMP4PKF FP[[P4 >y4PM ,=F=m S4EG kGkGV UY I, %MAUU '[Y44P[PPPYPPYY4F,,,F T$5JLJ,>58)555HH5555)5JHH6\LL VGGGkEVpp_ d_ppT bYyB[44M +" "" ++5>$ [ybMPyP[4KM FP[[F} >6PKF4A = K6F m[[[PMbLk 4MAMQ TvF4[PYP[44Y[P4PP4FF4 ).X}Z 85+6JH=5L5$-J HJ59$+ d\BBBB B,4\JLJJh[5+L55HH ==hB6 " $JBK }PvMv[[[4F6 P[[FFF 4PFFF[KB A5_XT5QL GE.EEk 4444,F4 vVqp[4[PFF}F\F[PP[4B\4P4 P{kVVVVG GqGqG $5ZZ)8)Lh$)L5)55HHLHL8LJ6h=+6h$L> 8XL5$$-5> >$88Z$L}E8E L)88'8HI ccrJ+ - >.. Pvyyvyvyyyv[ K4}\4PM4 FF4MM4FBFPP,F 000AY K4KKKPKPy kGkV_d5+J66 Jh66\FFF[FF 4QGGVVV GGGGqqqGGGGGGG 8.Q885L55L)$588 B-.X[P4; BJ-+L+L)Q888JF)5' .L$)5885LQT=A0( Bh\}[yMv[ [h+Y0 }FF[FFP[F4PPYPKY46BM U65Tp'Z 444YY4PPM bS0e[ [5VpVVE >J--> 48kVV qqGVG E$" >"' E$)$= -8)$:5"1++JLmm=H-FM \\\h8 >+L+)T885 .5$T88T)88Qh ((000 )B-[P yv}\v[}}}B >,ceA[[y}}\FF[[[4PF[P PY\h"A%%3 e048k T=44KPMKPPMbeeA UUAAPy[} B6F,6BFBB6"B= AQkkVVVG VVEkGGGqGGVG Q588LB>+=J >Y%KF\\\4 EvJZZE GVp_dZ -5-"- h$8EH= )$Z88hec0 >>1%3 4ebM4 F4PP[P[\6FFm)+ %B$'hc M\=FF[PPKPPMbbbS AAAUUSAAr \B6,F qkV_XkGGqGGG %@"+:5Z=55BB YY\\\Y 6EGGGGGG h- "B B)5 J5T8T8E85X8$8 8))ZL)ZF ,4\6, FB6,LE$B {mH}K SA,F[F }[PAAUe 5E\6BFFB6 666B664S FyF[rvXTH0 _TZpGGGG 3&%+'" @%)Z\6, %M4F\K% =GVVGGGGG Y\QQpppkEQT_=J 6=8QQ8Q'LHh5'. $5$5)Z60? --+> Mm vy4P[4F byAUbe F4F.L 8FB6\4F66666 B6KSAK P.EL0( dTTVGGGVV %@>E"1 %3% ))\BBUUP[FF kGGGGGGGG J)QQQQ8ZLLL=8)$)$5Zh X{==m\mX=[,4,4, A -6H$$6b, =9:\B6 FFmhH=F,66M X=[[beb= e0[5{{ LT__kGGVV ))\BB 0P}PFUU 8rRRhkVVV )$L$$5ZB Fm=6F4F6 FP$9b M44[F6h :++h rebeAAbb TTTkGGV VVk8=5 )Q[F, eM}}Pe ?0e[pE kVGGGGGGG B "-B -5Z_Q8 $$$5h ,My}XF r;cB-- 4eUSeeebryPv[} }}hTQ_QGGVVVVEE,6 "1@%%)8\P\ VGVkVG kkXL ZQQQ8 888JL,$)LBYU &`W% AUU00 ##;RY' m=Xm[Fe eeUMMAbebMPPyvZXTTVkV @BZ8m4Fe A}\M0 EGGkL5>" BHT8QQ8EE .88)$L W 3 AU00;c[.PFmm e0rreMMyLTX_pkk %%>$)5 6XEhF\b UF\MR GkGkv GL$>" J=5TQQ8E E.)$='$A ? &&%1 4YP6HP hBAAYMbeeb =QZQTVE ++'$> =6F=5 bF\b(? FTp_TXPF8 =$'QQ8E8_ZZ b I-Ue%1, %%%1-U (AUSA SUAUUA">$ 0eeA'$AUeUA -J9$+B F}b(? LQTQ88QT85JHA %@%1" &&&] ) 4--Pb >FYbe0 UeY[FMrd J=XJ=B 5))Xh\\ e(?(0 X{5{_E 5{TQQQQ_TEZ}, ,,,4Y4,,4,, JH6m44,9QdX 004XL5{ AS0?bH+>> B-\HZQQQQTQT$+ >+ -- +-> " +j+I> >+$$:)I %33313 Y>BJ"B B 4)m,Y6> 4MFhL-B KH=[\\4P T5Xh\\ =FcM}F +,BLZQQQQ_Qd cUU000? "$ >+$5 \4,B[44yrMPb }Y\Jc [}4ccc c?,bRc RRcRr 4F5hvAAS0 eUSAAbUS +XXTQQTQTXB B >""" W1"@ 3%%%%% JQZc#cR %>JJ" 0?r[yPX F\yMyM -JBHTQTQpQ- +:-+5- 13313"" BE5c0 AAm9B 3%%%% %Y4hbMAM AU % eA4PB4FF4FF4\m\[[[ [$QQQTT6 I-"-:+> >--- +E5R? XmMecU," 48TZQQT @11113 1 33@@@1 L)$$"" YYBB4 U%B B,- K$566TX}FM ]"113 B\6 ] %1" " .5+%%%R HbMAPX 4+5XX=6F ``%'B LE)TQ8850 > >+ " Z)- =JL8Q5 &@@@3&W 555+:>-++-" ,LH+> )$,KH HK4LdZ WWW&& ] +>>> -5$:-> " `gNgg -:++- J]4$8B HH5L" &W&WWW&&WW 4==-> 8HHT'L=, &%", 4HQL6,K >:> : ,L4%6H 6JL$9'8.$BY : U%M 4QT>" ,+4%BJ %%BJH &OWOOOOW&OWWOWW '8)L)))-"-95 6+ " "") %>--J> %4+[%, &@O@O %&OOOO %U%(& O@1& Q'9+ EH4Mh8TB &O%OO OW"JH 'BhQ'=m$E' +6F. "3L .Q86. $" &&-$HHH H,% %4 L4%,= 6B)""3: /9I>$ :$++. /)+"+.'B %1 BEH6Y68Z6 &%O& >9. 8->"E 94B$>"3$ ::>>. A\8)B OO@O@. )" ") .-:"> /$-": +F%6= R ?? 6/4>) "@8TQ A/.I+1> ) >.)B .HKAB8T $5" 5 /) II.$6 L$8H> Sh8T6 F-$">B' '@O3)J /+-1- >@)-B% +I" / >B"" $.L," F8LKU\E)B E 1 8 ,>>" k'+ I).J, U\8T6 %3$.'' .-3 ' )PK?% /8 >35 8O&9JB k'5 -$E-6 b\8T6,H @O-9)' .' >1: I)'=B eF8T6 E'.""8 $9:" 'OOj)P :'" 19 >`1)\" )+"-)8 ,1%%? ,"66,+B +BK+6 ,H4%JZ UFQT6 &O13I J'>""' >%1$\> q9$"-9'h Q$=='. A48Q6 6\)8" +3"5\I ):I+)9B B$6%4'5 e[886,h O&O3&$ > 1+'-@%3 )5)$ '&&+), $1"3) +O3:BI 9$-j986 $T_\= -=K- 4QT6K=.5, @@O>// VGGGq /ZB"A 9$-I)8 Q8$ZXPJE$ 6)6KP85KS488F,hELF :O@$:, O-$6+ 9: I88 J$_XE$) 4'5KM4QT4,6 AEVGGGGq ):," -->119 $$j )) 5h=Xdd6)/H4 4QQ666E5F ATkGGGGq .5'/: "> />O@)+, ++ 11' Q5J6)dd H,%F$B 48Qm,6E54 A8QVGGGq$-"" 8&W-:"-]" H4Hpd{.8Q JF 4$B mE54% M8VQkVkkH- > 5V/$ $II3"' $&O$5 > .:+j 8) 6T_{d9 =Y6-%KH, 48864BEZ4K &&11&1 YpVVVE 4/X./+ ,'>I1 ' $O%:: " '$+-")9 XTd{=L 6IYKH4 ,8EEEQpE)> - . >3". 5&O$$> HF%[5 K4)8m 3""@" ppVkE8'- "5 X.:>- '"I3" +@1)5I =KXTdX9 HF%4Z6 kEVp_T> "5 K'"I1 B31):- 9)>IH.) ,A Xd{dZ .4%I6 O11@&> kTTT_Z->"$ 9WOj9m" O$$+Y ssuss LQ{dm\ Y))KU .Z}ZT5-> 'O&+96"] . 1&9$+ 9+I$.)- =b=5{_6\ Y$)YSU5Q6,\ETF 0vV\0mdT) 1> 9&&j9h" $'1"@- -118$+," .)-I5 T5'+r =ZddQ ,-4B- bL$KSAXQ6 )O&+) '::" 9)- : 'H A% ususs }cv"AKM ALZ4SA58 %&`0M)X'>+:@$ $OO+)J 3 '$5 ')" ).+>K usuuus :=L.-II 5O@+)J 1O1':+," uusuuC $\.$, U=8, :&3$8 sususs .9T':+I $&3)) susuuu| CnCnCCn {{dV'Q H= A== ?4/9)):-I 8j 3'JI, usluss p{{{9 A=6 S=86 6/VT'$II Cq.$>" uuslul ZB$8, F88FKK 6/Z9'$II3' &3)8>" 5j139H> k.: J CuCusC|CnCn Xd_h6 4'8\K 5'9$-I]. 1&1)) 13)> .+ H/'\, lCusls *Cnn*nCCn F8'}K @O3)) " %(= CClus* CCCCn*CCnC {dd_V5L O&OO& :-$>3. "OW 8 .)+:/8J, uCs|lC|Cn*n*nCnCCa* QddT:$ /):$ @O")) u*uusuC|C*CCCnCCaCCCnn dddLJ' .FB), /'$+" &")) 3"-:,A /.--) |sslulC|CCC*C*CCCCCn*nudTddhh. BE=KYTQFK .@&"$)> "I3"' @@-+4U '-:'/5 uluCslu|*CCCCCCCCCCCnCs 65_{E =KYTQ\ O@1&O //'I 9&@I)) '"+" . '@3@:L 9I+./L CuQ$ A, Cllsl*u|CC*CC*n*n*CCC^u ,5dddQTX m.=K4T8\ 1@OO@. 9OOI9) '. +" . 9@&&+-, *u*uls*|C*CC*n*CC^CCC^u =dddT.' =KF)E &OOOOOW. /: I $OOI)$ uslC*llC|CC*CC^C*CC^CCCs Zd__= 5,%4E6 FEXKP$E= OOO&. $&@I9$ S.9-+ I :@3&$hK0 " 13$ GsnCa ulClCslC|*C*CC*CCCCCCaa 6X5_T\0Z :9P%h: OOOO' +O& 8$ )>j I&3W+ u*l*llsl|C*CC ulCll*l**|*^C*<^C^*<^C JXT_d= P8)KK5 O&@O&OW' naaanaa s:,A .&O@:9- ': H "1 :$4 e3 - G*CC^ /.$jI ^lE5+ u*l**l*** **+/ //.13" $F kCC*a /'$-H G|C|EL- u**l*l*l*|**C<*C^*<^*Ca Vdd_E' WOOO@O&@ ^aaaa '):I: ELI"" **l**l*l*z*C*C^*C<^C^^^ ==5Qddd_E8 PE94KL O&O&. /9$I>$ .""jj: /9)"+ *l**l*l!*|**^C*/ (0)/Z '9:II. 9I"":$> ll*!C!l!!*l****^*<**^<<*^^^ ^^^a^^ aT-+:/ e5/):+II :331j:>K "1 / **k'J **llf*!Cf!|****<**C^*C<^C<^uT /=K66ZX_ _pE5Q XPSMA $)999'/ |9>j' ):+ I. ll!!!f!!!*z*<******<***C H,UUr lCfV9j4 !C!!!f*ff!z***<***<*********^ er[rM [hdd_{\' 54AAe :):6c /9)+/ .':I) *!zV$>4 |*ffC!! **D*<***<*****<**^C FTQdd__ /.':+ **zE$ l!*!f!fC!fC *!*!******<****<**^****<^u MX5QV__ **zV9>K l!f!Cf!ff!! *********<**<*******<<<*<* 'FbK0b *!zQ9J l!f!f!!!f7! *****<********<**<*<1 &W& Cf!!7!f! !!!D*!!>" XI"3 @@%%%@1B !7!f!!7 !!% L-"13 $-$-I3@3 9 !7!!! !D!!*!D!*!" .')$ @& ?(R?? ''9))$$5+= !!!!D!!!!!!D"1 ''5JJ (+'):H==\F44 lD!!!!D!!!!!!!D<--+::$$ *<9->$ //9')>@@3@ ''9T:X5H=J i#ttiti 7!f7!7 !!!D!!!DD!!D!!D!<*!DD!DD" ,.'$) SPAbrrc tt;;#i#NtN ttNNN ;#;#N( @33>c z!!!!!DD!D!D!!DD!!D!DD1&&@31@@ &1$+$+I IIII$)"]3"+9)9'/. !xx!x! Rr0;cc R;;c( @@W&W 1 &@@& &&W&I I"I""1 I"j+j1 1] 9))'.. !x!xDx! Q$$6r( ?;R(( 1"]]3 1&@1@"I:+@1 9:99/ THL)-+'F '5HJr R###i( 31&11 11 31)+ /. j9' 9:9$j+:)'T/ [$9HJ 9$JXb @@I-$) 133@II3 "3]@3 :.9j)/ .'.')$$//.9$J JX.,bA, 00(0(; QL+=b &%1+):& +"-+"@33Ij -I :$ I I+)+ +'9)9.+" /HXH$$$: I:"):$'j I+-++>"I$" 3"I]"3 1 )/9../ '8$). AKKKMK %@W @11I-"II-> 11I""3 I1+" @3" j+$1 ::9))':+$$$9'9)I"99++$)/9$-):1 .9$99]&W +Z9..// %3 3 3&W@1 &1"1 j:::$+)$ :$+ ++-I-:::$: 1 1jj:jj+:)9)9 )''.. 111@R%@` 3 @%@3&1"@ "+II"jjj:))$)9'9.Ig:')I)):+:$)+:9$"j$9 )$.// WjHM0 113 % Ij"3 3&~@33 W1j$J:$)''' 9::H5.//=F VQ')=YS jI1 :I4KKU pdyr( O1@j @1 3@@@ Ij+j1 I+)$))$)9. '++++:j:+)"+:)$ @@ +$' Z5$$5H9 1]I)')''9')9'))./ /j'):+ ):J"HJT/:KeUr0 j1 && '98)9 Z:L=J .))$Z5L' X\m[v4[L/=YA0? mPyUbe0J'bcc0R cA-S ] %II13@@ 0(0(0R(R ittNN ;(gNN# EFcR; ;cRRR;cR N#wNi (tiiN ##gN# '8))+I= r4+jj"K V8))$$- I$9'/// ggNN% =+L:' {erby :'9$)99+ oowwo %-:,Are iR?;###( (N##N;; ||zz7 fl||l E$)// #?(#N#N (#NNwN# /Xj,KA #((N## RR#;( #NNN## //9$I (##iN(R#; AY6+) ###;(( , :)99'. #((### ###RR 0;iiNw ctiNwN (0((( 22222 2222222 2222222 2222222 22222 222222 22222 222222 22222222222 222222 2222222222222222222222 DrawDirect testType enterPage clearTest leavePage s_testObj Background clearTest "testType" clearTest 4s_testObj c"Background" Objects: DrawDirect title Postit4 1440,8490 Postit2 2550,1967 Postit3 415,-3 Postit1 Objects in the direct image display fastest; objects in the background image display slowest. This is especially true of animation. This example animates a rectangle drawn on the background, page, or draw direct image, depending on the selection in the Test Type option box. Objects on the direct image display faster than objects on the background image. Test Type testType buttonDown s_testType buttonUp 4s_testType Background Draw Direct s_testObj Background Draw Direct showElapsedTime s_testType startTime clearTest Foreground buttonClick buttonClick 4s_testType, s_testObj -- Set up clearTest "Background" sysDrawDirect "Foreground" xStart yStart xInc yInc sysTransparent -- Run startTime showElapsedTime 5300,67 ASYM_BeenHere 2550,1967 Objects s_lastTestTime s_testTime enterPage 4s_testTime, s_lastTestTime notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" b+t+{ 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage 950925095119247332333119212874 ASYM_TpID Angled vs Curved testType enterPage clearTest leavePage s_testObj clearTest "testType" clearTest 4s_testObj Angled vs Curved title 1440,7590 Postit4 2550,1103 Postit2 2550,1103 Postit3 415,-867 Postit1 Straight lines display more quickly than curved ones. Objects with curves such as rounded rectangles, ellipses, curves, or arcs display more slowly than straight lines, rectangles, and angled lines. This example draws a set of 64 rectangles with either rounded or angled corners depending on the selection in the Test Type option box. Angled objects with straight sides will draw more quickly than rounded objects using curves. Test Type testType buttonDown s_testType buttonUp 4s_testType Rounded Angled yStart s_testObj Rounded xStart showElapsedTime s_testType startTime clearTest buttonClick buttonClick 4s_testType, s_testObj -- Set up clearTest xStart yStart xInc yInc width height sysDrawDirect sysTransparent -- Run startTime "Rounded" showElapsedTime 5300,-797 Opaque vs Transparent Fields testField testType enterPage "testType" "testField" Opaque vs Transparent Fields title 5300,-365 Postit4 1440,8040 Postit2 2550,1391 Postit3 2550,1535 Postit1 Text in a transparent field displays more slowly than text in an opaque one particularly if objects are visible through the transparent field. This example writes text, character by character, into a transparent or opaque field, depending on your selection in the Test Type option box.ion box.box. Opaque fields display faster than transparent fields. testType buttonDown s_testType buttonUp 4s_testType Transparent Opaque Test Type ,%H.% abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ testField showElapsedTime s_testType startTime transparent buttonClick buttonClick 4s_testType, s_testObj -- Set up "testField" [the -- Run "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" & \ startTime showElapsedTime testField abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 415,-435 Layering testType enterPage clearTest limits leavePage s_testObj background clearTest "testType" clearTest "limits" 4s_testObj Layering 1 title 1440,8940 Postit4 415,285 Postit2 2550,2399 Postit3 415,429 Postit1 ToolBook displays a record field faster if it is not obstructed by any object on the background image. If any record field is obstructed, ToolBook uses a slower method to display all record fields in the background (even ones that are unobstructed).ed). Overlapping objects on the background image in front of any record field will cause all record fields to be drawn more slowly. testType buttonDown s_testType buttonUp 4s_testType Obstructed Unobstructed Test Type limits 5300,499 2550,2399 Obstructed Fields and Scrolling testType enterPage clearTest Obstructor leavePage testField clearTest "testType" clearTest "Obstructor" "testField" Layering 2 title 2550,2831 Postit4 415,861 Postit2 5300,931 Postit3 1440,9390 Postit1 ToolBook scrolls fields faster when they are not obstructed by other objects. The speed improvement is considerable. However, unlike record fields, if one field is obstructed, it doesn't affect the scrolling speed of other fields. This example scrolls a field that is either obstructed or unobstructed, depending on your selection in the Test Type option box. Any overlapping objects in front of a field will cause the field to scroll more slowly. testType buttonDown s_testType buttonUp 4s_testType Obstructed Unobstructed Test Type testField showElapsedTime s_testType startTime Obstructed clearTest Obstructor buttonClick buttonClick 4s_testType, s_testObj -- Set up clearTest "Obstructor" "Obstructed" -- Run "testField" startTime showElapsedTime testField Obstructor 2550,2831 DrawDirect Text testType enterPage testField clearTest "testType" clearTest "testField" DrawDirect Text title 5300,931 Postit4 415,429 Postit2 2550,2687 Postit3 2550,2831 Postit1 Setting the drawTextDirect property of a field or record field to true places the text on the direct image. If the drawDirect property of the field is set to false, the borders and scroll bars will be drawn on one of the offscreen images, but the text will still be on the direct image. This example scrolls a field whose drawTextDirect property is true or false, depending on your selection in the Test Type option box. A field or record field whose drawTextDirect property is true will display and scroll faster than one whose property is false. testType buttonDown s_testType buttonUp 4s_testType False Test Type testField showElapsedTime s_testType startTime clearTest buttonClick buttonClick 4s_testType, s_testObj -- Set up clearTest "testField" c"True" drawTextDirect -- Run startTime showElapsedTime testField 415,861 1440,9390 Flipping Pages 5300,643 Postit1 415,573 Postit3 415,429 Postit2 2550,2399 Postit4 Flipping Pages title As ToolBook navigates to a page it loads the image of that page into memory. As it fills the allocated memory it purges pages in memory on a first-in/first-out (FIFO) basis. You can use the flip command to preload pages into memory, which makes navigation appear to be quicker. This can be done while the current page is holding the user's attention.ication is different there is no set number Flipping Pages The Test button will lock the screen so that you appear to stay on this page while ToolBook navigates to each page starting at 1 until it gets back to this page. Each time you click the Test button it will tell you the time it took to go through all the pages and the percentage difference compared to the last time you did the test. .'+ +F ,&H.& .'+ +F showElapsedTime startTime buttonClick buttonClick startTime sysSuspendMessages = TRUE have skipNavigation. -- The following includes the 3 that 2lip _honors W property. showElapsedTime 1440,9090 2550,2543 User Interface Conventions testType enterPage clearTest leavePage Gauge esetGauge clearTest "testType" clearTest 4s_testObj "Gauge" setGauge 0 Tips: User Interface Conventions title 415,429 Postit4 415,141 Postit2 1440,8940 Postit3 2550,2399 Postit1 In addition to designing your book to work faster, you can make it appear faster by designing the user interface to keep the user informed of progress. This example shows two OpenScript techniques for informing readers. Depending on your selection in the Test Type option box, either an animated gauge or the hourglass cursor is displayed during a several-second pause. Books will appear faster if you provide feedback as computation progresses. testType buttonDown s_testType buttonUp 4s_testType Gauge Hourglass Test Type .&+ +E .&+ +E startTime Gauge currentTime 5(GetTickCount Hourglass s_testType esetGauge clearTest buttonClick buttonClick 4s_testType, s_testObj clearTest "Hourglass" "Gauge" -- Run startTime GetTickCount() currentTime 0< 4000 setGauge ( V) / 4000 Gauge Indicator limiter setGauge setGauge percent <= 1 >= 0 "limiter" yMin yMax "Indicator" Indicator Limiter Percent Complete? 2550,2399 5300,499 notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage Page Tips Page Tips title 1440,7890 Postit4 2550,1247 Postit2 2550,1391 Postit3 415,-579 Postit1 As the Basic Concepts chapter described, storing images can make a page display faster. When displaying a page with the same background as the current page, ToolBook doesn't have to redraw the background, so the new page is displayed faster. Finally, page size can make a difference in page turning speed.fference in page turning speed.speed. For complex pages, storing the background or combined background-page image may make the page display faster.aster. Turning to a page with the same background is faster than turning to a page with a different background.; If your book has many backgrounds or has many changes from page to page, a small page size will make the book faster than a large page size. 5300,-509 SmartDrive clearTest enterPage memory screen clearTest clearTest "screen" "memory" System Configuration: SmartDrive title 2550,383 Postit4 415,-1587 Postit2 5300,-1517 Postit3 1440,6840 Postit1 You can improve your books performance by adding SMARTDRV.EXE to your AUTOEXEC.BAT. SMARTDRV.EXE uses some of the computers, RAM to store information from the hard drive that may be needed in the near future. It does this by reading what the program asks for, then reading the next piece of information into RAM as well. This way, if the program needs the next piece of information it is already in memory and is accessed much faster. Often, this addition alone significantly boosts performance. To load SMARTDRV.EXE at startup type c:\dos\smartdrv.exe /x on a line by itself in the AUTOEXEC.BAT file. For more information about SmartDrive & its parameters refer to DOS help. (At the DOS prompt type c:\dos\help smartdrv and then hit Enter) c:\dos\help smartdrv\dos\help smartdrvEnter) c:\dos\help smartdrv screen memory Screen Memoryu showme ,%H.% ,%H.% ,%H.% final scrmem scrline qrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ clearTest memory abcdefghijklmnop screen buttonClick buttonClick 4s_testType, s_testObj -- Set up clearTest -- Run "abcdefghijklmnop"& "" "screen" "scrline" = "qrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" & "" "memory" "scrmem" = "final" = Show Me scrline scrmem final SmartDrive will improve overall system performance. System Configuration notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage Conventional Memory reset enterPage buttonClick B"reset" Conventional Memory title 2550,95 Postit4 415,-1875 Postit2 5300,-1805 Postit3 1440,6540 Postit1 One of the ways to optimize your computer configuration is to free conventional memory for applications that need to use it. The upper memory blocks are set aside for your system's use, such as video and hardware drivers. But after these drivers are loaded, there are usually unused upper memory blocks that can be used by other memory resident programs, such as CD-ROM and MOUSE drivers, DOSKEY, SMARTDRIVE, etc. For details about optimizing your memory and modifying your CONFIG.SYS and AUTOEXEC.BAT files, check your DOS manual under one of the following sections: "Optimizing Your System" "Customizing Your System" "Making More Memory Available" or check the following commands in your DOS manual: "LoadHigh" or "LH" "DeviceHigh" "MEM""MEM"EM"EM" Colored areas are different drivers & memory resident programs MS-DOS White areas are free segments of memory Black areas are segments of memory that are used and cannot be moved. driverLine ConMem Driver1 6720,4876,4395,4876,4395,2941,6720,2941 ObjPath driver2 6720,4725,4395,4725,4395,2788,6720,2788 ObjPath driver3 6720,4404,4395,4404,4395,1944,6720,1944 ObjPath ,%H.% ,%H.% ConMem 6ObjPath endPos startPos driverLine rectangle Driver ObjName moveImage buttonClick buttonClick ObjName = " Driver" & i startPos = (j*2-1) ObjPath objName, \ (j*2) endPos = (j*2+1) (j*2+2) moveImage i = 1 U"driverLine" = 5685,3720,6555,3150 "ConMem" = 6720,3326,8085,5119 Organize Memory reset ,&H.& 6ObjPath ConMem driverLine rectangle Driver ObjName buttonClick buttonClick ObjName = " Driver" & i Pos=ObjPath "ConMem" = 6720,3326,8085,4408 U"driverLine" = 5700,4170,6540,4560 Reset Memory Conventional Memory Upper Memory Blocks (umb) Extended Memory Enter & Leave Handlers: Enter & Leave title 2550,-337 Postit4 415,-2307 Postit2 5300,-2237 Postit3 1440,6090 Postit1 Keep enter and leave handlers as simple as possible. Every command in an enter handler will increase the time required to enter the object (page, background, field, and so on). Every command in a leave handler will increase the time required to leave the object. Do not send system messages, such as Previous, Next, and Back, in enter or leave handlers. These messages can cause serious errors if ToolBook is not allowed to get back to top level. The most common message displayed when this happens is "Handlers Nested Too Deep." Enter & Leave Handlers should be kept simple OpenScript Handlers notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage Handlers: Idle title 2550,-481 Postit4 415,-2451 Postit2 5300,-2381 Postit3 1440,5940 Postit1 Keep idle handlers simple. The more complex the handler, the longer it will take to execute before allowing ToolBook to return to top level. This will make the program appear slow to the user. Keep the handlers short and simple so that if a user clicks a button, there will seem to be an immediate response.e.. seem to be an immediate response.% Idle Handlers Handlers Generic Scripts Handlers: Generic Scripts title 2550,527 Postit4 415,-1443 Postit2 5300,-1373 Postit3 1440,6990 Postit1 The most common use of a generic script is for a group of buttons. Creating a script for a group buttons that perform the same function, and placing that script in the group, eliminates the need to store code for each button and provides one location to find the script. By using a generic script for many objects instead of the same script in each object not only makes it easier to change the code, and saves page/background memory. Each page or background has a limited amount of memory for objects, user-defined properties, and scripts. By having a generic script instead of individual scripts, less memory has to be allocated for the page/background..d.nd.ground. Generic Scriptsandlers Execute ( ) s_lastTestTime s_testTime testType enterPage 4s_testTime, s_lastTestTime "testType" OpenScript: Execute ( ) title 5300,-221 Postit4 1440,8190 Postit2 2550,1535 Postit3 2550,1679 Postit1 Sometimes you may need to have a script build an OpenScript command in the form of a text string, then execute it. To do this you can use the execute command. The execute command runs more slowly than executing the same statements in a script, because ToolBook must compile the script before it can run it. The execute command is useful in cases where you can't otherwise specify a statement. If you use the execute command in a script, use it sparingly to minimize the additional time necessary for it to run. The adjacent example demonstrates the extra time it takes to use the execute command to run a script.d to run a script.n a script. Execute Commandd testType buttonDown s_testType buttonUp 4s_testType Execute Properties Script Test Type .&+ +E ,%H.% ,%H.% .&+ +E foo of self = 0;step j from 1 to Script showElapsedTime s_testType s_testObj s_testType startTime ;foo of self = foo of self + j;end Execute buttonClick buttonClick 4s_testType, s_testObj "Execute" startTime cmd = "foo "& i &"; "Script" showElapsedTime 415,-291 OpenScript Commands notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 4!F!{ 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow EnterPage leavePage UpdateDisplay updateDisplay enterPage SysHistoryRecord OpenScript: SysHistoryRecord title 2550,4415 Postit4 2550,4559 Postit2 2550,4703 Postit3 415,2733 Postit1 sysHistoryRecord is a system property that specifies whether ToolBook adds pages to the history stack in sysHistory. You can get or set this property. When sysHistoryRecord is set to false, any pages that are displayed in the Main window are not added to the history of the book. You can use this property to create a custom history that ToolBook can't modify. When sysHistoryRecord is true (default value), the uniqueName of a page is put onto a list called sysHistory. If sysHistoryRecord is set to false then up to 4K of system memory can be saved because sysHistory can contain up to the last 100 pages where the user has gone. Any time you can reduce unnecessary actions or commands from being executed you can improve speed and performance. Setting sysHistoryRecord to false speeds up animated sequences that involve flipping pages because the uniqueName of the page is not put on a system variable list. If you set sysHistoryRecord to false, you may also want to remove the Back command from the Page menu. Because the Back command always goes to the last page added to the history, a user may find that choosing Back does not always return to the previous page accessed by a script.ript.t. sysHistoryRecordd 5300,2803 1440,11340 2550,4559 Postit4 415,2589 Postit2 5300,2659 Postit3 1440,11190 Postit1 User Properties and Variables title For maximum speed use user properties sparingly, because it takes time for ToolBook to locate the user property and access its contents. User properties are most useful in enterApplication and enterBook handlers because these handlers are run once per instance of the book. Starting in ToolBook 3.0, applications can access up to 16 MB of RAM, which makes the overuse of system variables much easier. System variables do not affect speed until they get very large, or until the available RAM gets low. As available RAM gets low, the system will become sluggish because Windows has to swap memory out to disk. Also starting in ToolBook 3.0 variables can be typed, which can make handlers run faster and use less memory because the data is already in the internal (binary) form that ToolBook requires. A typed variable is also in its most efficient format. Assigning a data type to a variable helps prevent errors because you cannot assign inappropriate data to the variable. The example at the right adds the numbers from 1 to 2000 in the type of variable that is selected. The script does this by stepping through the numbers and adding them to the previous sum. For more information about Variables, Values, Arrays, Lists, and Text see Chapter 6, in the User Manual "Variables, values, and text."and text..t. User Properties and Variables testType buttonDown s_testType buttonUp 4s_testType User Property Properties System Variable Properties Local Variable Test Type .&+ +E ,%H.% ,%H.% ,%H.% .&+ +E Local Variable showElapsedTime s_testType System Variable startTime User Property buttonClick buttonClick 4s_testType, s_testObj "Local Variable" startTime 0 + i "System 4foo2 * + i "User Property" bar showElapsedTime User Properties and Variables s_lastTestTime s_testTime testType enterPage 4s_testTime, s_lastTestTime "testType" Postit4 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit4 buttonclick ButtonStillDown oPosition buttonclick J"Postit4" 720,105 offset Postit4 3postit4 3Postit4 EnterPage 3Postit4 leavePage keyUp notifyBefore EnterPage textOverFlow postit4 = Postit4 textUnderFlow Forward Postit2 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit2 buttonclick ButtonStillDown oPosition buttonclick J"Postit2" 935,110 offset Postit2 2postit2 2Postit2 EnterPage 2Postit2 leavePage keyUp notifyBefore EnterPage textOverFlow postit2 = Postit2 textUnderFlow Postit3 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit3 buttonclick ButtonStillDown oPosition buttonclick J"Postit3" 745,40 offset Postit3 %3Postit3 %3postit3 EnterPage &3Postit3 leavePage keyUp notifyBefore EnterPage textOverFlow postit3 = Postit3 textUnderFlow Postit1 keyUp enterRecordField >= "" VFalse offset ButtonStillDown offset offset buttonDown Postit1 buttonclick ButtonStillDown oPosition buttonclick J"Postit1" 6%H%{ 630,45 offset Postit1 ]2Postit1 ]2postit1 EnterPage ^2Postit1 leavePage keyUp notifyBefore EnterPage textOverFlow postit1 = Postit1 textUnderFlow notes EnterPage notes UpdateDisplay notifyAfter EnterPage MainWindow notes enabled notifyBefore UpdateDisplay bottomLine topLine content text lrgScroll lrgscroll enterPage notifyBefore textOverFlow "lrgscroll" "lrgScroll" LRGSCROLL scrollField pageSize sliderValue maxScroll Content Text thumb enterPage notifyafter 4maxScroll,scrollField,pageSize J"Content Text" lockScreen Z = 0 [ = 0 ctextOverFlow sliderValue B"thumb" scrollField PupdateDisplay buttonDown scrollField PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay M > 0 scrollField maxScroll PupdateDisplay buttonDown scrollField maxScroll PupdateDisplay buttonStillDown 4maxScroll, scrollField updateDisplay Slider pageUp dpageDown thumb PupdateDisplay buttonClick buttonClick B"thumb" pageUp pageDown updateDisplay Thumb EnterPage leavePage UpdateDisplay EnterPage updateDisplay TmpltTool removeBookMark i#gotoBookMark ButtonClick ButtonClick gotoBookMark Go to Book Mark popHelpText addBookMark &eBookMark buttonClick 1, "@ nomark bookMarks updateDisplay buttonClick BookMark notifyAfter updateDisplay bookMarks onormalGraphic = icon "mark" #on "nomark" Add Book Mark popHelpText 8notePad buttonClick buttonClick notePad Note Pad popHelpText tChangeTutorial buttonClick buttonClick ChangeTutorial Select Tutorial popHelpText heading (postit buttonClick buttonClick postit Post Notes pophelpText Table of Contents buttonClick buttonClick MainWindow "Table Contents" Table of Contents popHelpText updateDisplay User Properties and Variablesive 95050919534438586212124501368 ASYM_TpID TutorialList Rebuild buttonClick buttonClick &Rebuild bottomLine Cancel TutorialList buttonClick buttonClick isOpen "TutorialList" close &Cancel Rebuild tutorialList &Cancel &Rebuild TutorialList I can't find the tutorial book File Not Found buttonClick buttonClick 4tutorialList[][] selectedTextLines "TutorialList" 8(path ][2]) c"File Not Found" ][2]) "I can't find the f"&Cancel" "&Rebuild" isOpen close &Go To ThreeDeeRect out,sculpted TutorialList tempFileinfo tutorialList TutorialList getInivar tutorial.ini enterpage notifyBefore 4tutorialList[][] counter Ztempfile tempFileinfo = getInivar("TutorialList", D,path h.ini") ctempFileInfo <> "" W) = 2 ][1] = ][2] = dimensions( i][1] &CRLF --Clear off the extra topLine enterpage PopText 95050919593838940058139359890 ASYM_TpID GrayBack Notepad Reset Notes Notepad notes buttonClick buttonClick MainWindow "Notes" "Notepad" = notes &Reset Notes Cancel Notepad buttonClick buttonClick isOpen "Notepad" close &Cancel Notes notes Notepad PupdateDisplay buttonClick buttonClick MainWindow notes "Notes" "Notepad" updateDisplay isOpen close &Save ThreeDeeRect out,sculpted Notes Notepad notes enterPage keyChar enterField NotifyBefore MainWindow "Notes" "Notepad" = notes key,isShift,isCtrl keyEnter buttonClick bottomLine topLine enterPage Notepad 9505091959443894531416471984 ASYM_TpID GrayBack PopHelp ASYM_BeenHere ShowText 1,"JdY updateDisplay updateDisplay = 1440/14 * otextRightOverFlow > 2 Note Pad Contentsy of a page or background that indicates how much of the 64K boundary is available for content. 95050919570338784412823287292 ASYM_TpID Imaging Basics 256Cols Title Page Complex Objects vs Bitmaps Layering Generic Scripts Obstructed Fields and Scrolling User Interface Conventions Conventional Memory Bitmap Color Depth Bitmap Depth 16Cols SmartDrive PopHelp Opaque vs Transparent Fields Execute ( ) Angled vs Curved Forward Image Buffers Basics Stored Background 16MCols Stored Page Storing Images Implications Page Tips Enter & Leave Direct Layer DrawDirect Text Table of Contents Bitmap vs Vector Storing the Background Storing the Page Metafiles TutorialList TmpltTool System Books DrawDirect SysHistoryRecord Notepad Flipping Pages OpenScript Handlers Fonts Imaging Basics Objects Book Design Graphics User Properties and Variables PopText Store Image System Configuration OpenScript Commands Notepad